簡體   English   中英

HTTP PUT 請求可以將 application/x-www-form-urlencoded 作為 Content-Type 嗎?

[英]Can HTTP PUT request have application/x-www-form-urlencoded as the Content-Type?

在 HTTP PUT 請求中發送表單數據是否有效? 如果您能指出我的規格,那就太好了。

我已經通過了 HTTP 1.1 規范。 但我沒有發現 PUT 請求是否可以有表單數據。

我正在使用 Java 來創建和訪問 RESTful Web 服務。 POST 支持application/x-www-form-urlencoded作為 Content-Type。

從規范中,我了解到 POST 用於創建新資源(請求 URI 標識的資源的子資源),而 PUT 用於創建或更新資源。

但我的疑問是 PUT 方法是否也可以包含表單數據? 我試圖根據規范找出是否可以。 我在 HTTP 1.1 規范中找不到任何關於此的內容。

是的,您可以將 application/x-www-form-urlencoded 與 PUT 一起使用。 HTTP 規范不限制什么方法可以用於什么媒體類型。

目前正在進行的 Httpbis 規范對 PUT http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-14#page-18進行了顯着擴展的討論

由於PUT 方法用於在提供的 URI 下存儲封閉的實體,並且Content-Type header 字段實體 header 字段,因此在 PUFT 請求中使用Content-Type Z099FB995346F33C749F6E40E3Z 字段是合法的。

現在剩下的問題是接收服務器是否可以適當地處理此類請求和Content-Type信息。 在最壞的情況下,它無法處理Content-Type header 字段並返回 501 響應:

實體的接收者不能忽略任何它不理解或不實現的Content-* (例如Content-Range )標頭,並且在這種情況下必須返回 501(未實現)響應。

這是 wc3 中的 HTTP 規范

http://www.w3.org/Protocols/rfc2616/rfc2616.html

此外,這里是 Content-Type 的頁面

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17

和放

http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.6

如果您需要有關 HTTP PUT 的特定語言的幫助,請使用具體信息更新您的問題

暫無
暫無

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

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