5 回答

TA貢獻(xiàn)1946條經(jīng)驗 獲得超4個贊
羅伊菲爾丁關(guān)于將一個機(jī)構(gòu)納入GET請求的評論。
是。換句話說,任何HTTP請求消息都允許包含消息體,因此必須解析消息。但是,GET的服務(wù)器語義受到限制,使得正文(如果有的話)對請求沒有語義含義。解析的要求與方法語義的要求是分開的。
所以,是的,你可以使用GET發(fā)送一個正文,不,這樣做永遠(yuǎn)不會有用。
這是HTTP / 1.1的分層設(shè)計的一部分,一旦規(guī)范被分區(qū)(正在進(jìn)行中),它將再次變得清晰。
羅伊....
是的,您可以使用GET發(fā)送請求正文,但它不應(yīng)該有任何意義。如果你通過在服務(wù)器上解析它并根據(jù)其內(nèi)容更改響應(yīng)來賦予它意義,那么你忽略了HTTP / 1.1規(guī)范第4.3節(jié)中的這個建議:
[...]如果請求方法不包含實體主體的定義語義,則在處理請求時應(yīng)該忽略消息主體。
和HTTP / 1.1規(guī)范中的GET方法的描述,第9.3節(jié):
GET方法意味著檢索Request-URI標(biāo)識的任何信息([...])。
其中聲明請求主體不是GET請求中資源標(biāo)識的一部分,只是請求URI。
更新 引用為“HTTP / 1.1規(guī)范”的RFC2616現(xiàn)已過時。2014年,它被RFC 7230-7237取代。引用“處理請求時應(yīng)該忽略消息體”已被刪除。它現(xiàn)在只是“請求消息框架獨立于方法語義,即使該方法沒有定義消息體的任何用途”第二個引用“GET方法意味著檢索任何信息......由Request-URI標(biāo)識”被刪除了。 - 來自評論

TA貢獻(xiàn)1946條經(jīng)驗 獲得超3個贊
如果您嘗試?yán)镁彺?,則可能會遇到問題。代理人不會在GET主體中查看參數(shù)是否會對響應(yīng)產(chǎn)生影響。

TA貢獻(xiàn)1813條經(jīng)驗 獲得超2個贊
restclient和REST控制臺都不支持這個,但卷曲確實如此。
的HTTP規(guī)范說,在第4.3節(jié)
如果請求方法的規(guī)范(第5.1.1節(jié))不允許在請求中發(fā)送實體主體,則消息主體不得包含在請求中。
第5.1.1節(jié)將我們重定向到第9.x節(jié)的各種方法。他們都沒有明確禁止包含消息體。然而...
通過檢查Request-URI和Host頭字段來確定Internet請求標(biāo)識的確切資源。
GET方法意味著檢索由Request-URI標(biāo)識的任何信息(以實體的形式)。
這一點一起表明,在處理GET請求時,服務(wù)器不需要檢查Request-URI和Host頭字段之外的任何其他內(nèi)容。
總之,HTTP規(guī)范并不會阻止您使用GET發(fā)送消息體,但是如果所有服務(wù)器都不支持它,那么它就不會讓我感到驚訝。
添加回答
舉報