我想知道什麼是內容類型,爲什麼需要設置標頭請求的內容類型以及可以設置多少種類型的標頭內容? 請儘可能提供相關文件。爲什麼我們需要設置內容類型的標頭請求
回答
Content-Type
在HTTP請求的頭部指定給服務器它應該期望的數據。如果一個服務器允許並接受多種類型的內容,它可以使用這個字段知道如何解釋請求的主體。
例如:如果服務器在同一端點允許XML和JSON數據,然後設置Content-Type
爲:
內容類型:應用/ JSON
先給服務器知道它應該期望請求主體包含JSON。而經過:
內容類型:文本/ XML
將通知服務器期望在體內XML。
RFC7321 - Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content限定Content-Type
在部分3.1.1.5:
的「內容類型」報頭字段表示 相關聯表示的媒體類型:或者封閉在 消息有效載荷或所選擇的表示,作爲表示由 消息語義確定。所指示的媒體類型定義了數據格式以及在由內容編碼指示的任何內容編碼被解碼之後如何在收到消息語義的範圍內由接收者, 處理該數據。
有1500+ Media types與可以被設置爲Content-Type
該請求的IANA登記。
3.1.1.5節的最後一段說明如果沒有設置Content-Type
,服務器可能會假定數據爲application/octet-stream
或以任何想要的方式解釋請求。但是:
客戶那些 如此冒險繪製不正確的結論,這可能會暴露出更多的 安全風險(例如,「特權升級」)。
它被稱爲Content Sniffing服務器做到這一點,可以通過將被禁用時:
X-Content-Type的選項:nosniff
如果您沒有設置內容 - 做輸入您的應用程序可能無法
例如,如果你正在構建以JSON格式要求數據的應用程序,你在你的頭的Content-Type不包括:應用程序/ JSON,在大多數情況下喲你的應用程序將無法正常工作。
- 1. 爲什麼在REST請求中驗證內容類型標頭
- 2. 內容類型的請求標頭
- 3. POST請求的內容類型標頭
- 4. 我們如何在Spring 3.0.2中設置請求內容類型?
- 5. 爲什麼我們需要設置SONAR_RUNNER_OPTS?
- 6. 在CURL請求中設置請求類型和內容類型
- 7. 在Spring框架resttemplate中將請求標頭內容類型設置爲json
- 8. 設置HTTP請求「內容類型」
- 9. 我不能做需要用axios設置標頭的請求
- 10. 我需要http獲取請求的內容類型嗎?
- 11. 在請求中設置AJAX內容類型頭IE
- 12. 爲什麼我們需要ioc容器
- 13. 爲什麼我們需要長型?
- 14. 爲什麼我們需要fieldset標籤?
- 15. 爲什麼我們在返回render()時需要「請求」對象?
- 16. 爲什麼我們需要分開Apply和Applicative類型的類?
- 17. 爲什麼我們需要包裝類
- 18. 需要設置所有http請求的默認標頭
- 19. 爲什麼空的ajax POST請求沒有內容類型?
- 20. Google Map API:爲什麼我們需要爲標記對象設置標題?
- 21. 爲什麼我們需要遞歸地過濾內容
- 22. 無法在POST請求期間將內容類型設置到IE 8中的ajax請求標頭上
- 23. 爲什麼我們需要爲IMessenger.Subscribe()明確設置收件人?
- 24. ASP.NET MVC3,爲什麼我們需要強類型的View?
- 25. 爲什麼我們需要指針的不同數據類型?
- 26. 爲什麼我們需要設置發佈地址[network.host]的值
- 27. 爲什麼我們需要強化學習中的MDP設置
- 28. 設置全局放置請求的內容類型
- 29. 跺腳內容類型報頭設置爲純對XML內容
- 30. 爲WebClient請求設置User-Agent標頭
兄弟IANA代表什麼? –
感謝您解釋有關此主題 –
如果我們未設置任何內容類型,那麼會出現什麼問題 –