簡體   English   中英

REST:HTTP標頭或請求參數

[英]REST: HTTP headers or request parameters

我一直在圍繞REST進行一些研究。 我注意到Amazon S3 API主要使用http標頭作為其REST接口。 這對我來說是一個驚喜,因為我認為接口主要用於請求參數。

我的問題是:我應該主要使用http標頭開發我的REST接口,還是應該使用請求參數?

問題主要在於定義的參數是否是資源標識符(URI)的一部分。 如果是這樣,那么你將使用請求參數,否則使用HTTP自定義標頭。 例如,在音樂庫中傳遞album的ID必須是URI的一部分。

請記住,例如/employee/id/45 (或者/employee?id=45 ,REST 查詢字符串參數沒有偏見或者對於清晰的斜杠分隔的URI)標識一個資源。 現在,您可以通過發送請求標頭content-type: text/plain來使用內容協商content-type: text/plaincontent-type: image/jpg來獲取信息或圖像。 在這方面,資源被認為是相同的,並且標頭僅用於定義資源的格式。

一般來說,我不是HTTP自定義標頭的忠實粉絲。 這通常假設客戶端具有服務器實現的先驗知識(不能通過自然HTTP方式發現,即超媒體),這通常被認為是REST反模式

HTTP標頭通常定義與請求/響應過程中要實現的HTTP 正交的HTTP方面。 Authorization標題(真的是用詞不當,應該是身份驗證)是一個典型的例子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM