當我嘗試發送PUT請求與空身體時,我得到了400錯誤。 似乎nginx認爲這不是一個有效的請求。 是否有任何方法來改變nginx設置或如何設置客戶端以避免400錯誤如何避免nginx 400時PUT空體
1
A
回答
0
Nginx不支持分塊請求,所以客戶端代碼必須指定正確的Content-Length
標頭。 Nginx在缺乏的情況下返回411。
我不確定你爲什麼會得到400.我的建議是至少設置error_log
級別爲info
,看看Nginx抱怨什麼。
0
您的問題可能是因爲您試圖CRUD(創建,檢索,更新和刪除)的語義HTTP規範REST動詞(GET,PUT,POST,DELETE,HEAD)與不完全性映射關聯:
- 創建= PUT
- 檢索= GET
- 更新= POST
- 刪除=刪除
但是,「PUT」表示要在服務器上「放置」某些內容,並且存在空的內容時,該內容無效,並且應始終得到400響應。
創建= PUT(如果,且僅當您要發送創建內容所需的資源 )。
創建= POST(如果你發送命令到服務器 創建使用服務器端資源的內容)
檢索= GET。
更新= PUT(如果,且僅當您發送更新內容所需的資源 )
更新= POST(如果您向服務器發送一個命令 更新內容使用服務器端資源)
Delete = DELETE。
閱讀上Post vs PUT
相關問題
- 1. NGINX + MONO FASTCGI + CENTOS - 如何避免空閒超時
- 2. 如何避免nginx在使用代理(proxy_pass)時用空白替換%20?
- 3. nginx避免壓縮圖像
- 4. SqlCommand.ExecuteScalar避免空
- 5. 如何避免
- 6. 如何避免
- 7. 優雅的方式來避免.put()在不變的實體
- 8. 如何避免
- 9. 如何避免CGI超時?
- 10. 如何避免多,如果空語句
- 11. 從陣列中移除物體;如何避免空
- 12. 如何避免NullReferenceException
- 13. 避免空檢查
- 14. 如何避免MSDTC?
- 15. 如何避免液體中的引號?
- 16. 如何避免讓實體框架
- 17. 如何避免實體框架
- 18. 如何避免Silverlight醜陋的字體?
- 19. 如何避免在C#中獲得空
- 20. 如何避免空值在文本框
- 21. 如何避免View.getDrawingCache()中的空指針?
- 22. 如何避免太多的空記錄?
- 23. 豬:Cogroup如何避免空白值
- 24. 如何避免java.lang.OutOfMemoryError:Netbeans中的PermGen空間
- 25. 如何避免過多的空比較
- 26. 如何避免空格式化值
- 27. 如何避免JSON值的空數組?
- 28. 如何避免mysqli_fetch_assoc中的空值?
- 29. 如何避免碧玉空值報告
- 30. JPA - 如何避免獲取空列表?
謝謝您的回答。在Rails世界中,我們使用「PUT」作爲更新資源,這裏爲什麼我發送PUT請求與空體,因爲我需要通過PUT「resource/cancel」更改資源狀態 – allenwei 2012-01-03 02:55:43