HTTP協議有一種分塊傳輸編碼的機制(chunked Transfer Encoding),即一個HTTP消息可以分成多個部分進行傳輸。它對HTTP請求和HTTP響應都是適用的。但是目前的nginx版本只支持chunked響應而不支持請求,如果收到chunked請求的話會返回411錯誤。
開啓nginx對chunked請求的辦法的有2種:
1.nginx-1.3.9 development version has been released, with support for chunked transfer encoding while reading client request body.
2.加載一個第三方的模塊,這個模塊是淘寶的開發人員做的,感嘆淘寶技術之強大。
http://wiki.nginx.org/HttpChunkinModule
- server {
- chunkin on;
- error_page 411 = @my_411_error;
- location @my_411_error {
- chunkin_resume;
- }
此方法已經在生產環境應用,運行良好。
nginx的Mainline version、Stable version、Legacy version的版本區別
Nginx官網提供了三個類型的版本
Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以說是開發版
Stable version:最新穩定版,生產環境上建議使用的版本
Legacy versions:遺留的老版本的穩定版
nginx下載地址:http://nginx.org/en/download.html