加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

在nginx上proxy_request_buffering和proxy_buffering有什么区别

发布时间:2020-12-13 21:40:21 所属栏目:Nginx 来源:网络整理
导读:我看到proxy_request_buffering将缓冲请求和proxy_buffering响应. 但是,我想了解这意味着什么的内部. 最佳答案 来自Nginx documention: Proxy_Buffering Syntax: proxy_buffering on | off;Default: proxy_buffering on;Context: http,server,locationEnabl

我看到proxy_request_buffering将缓冲请求和proxy_buffering响应.

但是,我想了解这意味着什么的内部.

最佳答案
来自Nginx documention:

Proxy_Buffering

Syntax: proxy_buffering on | off;
Default:    
proxy_buffering on;
Context:    http,server,location
Enables or disables buffering of responses from the proxied server.

启用缓冲后,nginx会尽快从代理服务器接收响应,并将其保存到proxy_buffer_size和proxy_buffers指令设置的缓冲区中.如果整个响应不适合内存,则可以将其中的一部分保存到磁盘上的temporary file.写入临时文件由proxy_max_temp_file_size和proxy_temp_file_write_size指令控制.

禁用缓冲时,响应会在收到响应时立即同步传递给客户端. nginx不会尝试从代理服务器读取整个响应. nginx一次可以从服务器接收的数据的最大大小由proxy_buffer_size指令设置.

也可以通过在“X-Accel-Buffering”响应头字段中传递“是”或“否”来启用或禁用缓冲.可以使用proxy_ignore_headers指令禁用此功能.

Proxy_Request_Buffering

Syntax: proxy_request_buffering on | off;
Default:    
proxy_request_buffering on;
Context:    http,location
This directive appeared in version 1.7.11.
Enables or disables buffering of a client request body.

启用缓冲时,在将请求发送到代理服务器之前,整个请求正文是客户端的read.

禁用缓冲时,请求主体在收到时立即发送到代理服务器.在这种情况下,如果nginx已经开始发送请求主体,则无法将请求传递给next server.

当使用HTTP / 1.1分块传输编码来发送原始请求主体时,无论指令值如何,都将缓冲请求主体,除非HTTP / 1.1是enabled用于代理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读