ngx_http_posted_request_t *posted_requests; /*全局的ngx_http_phase_engine_t结构体中定义了一个ngx_http_phase_handler_t回答方法组成的数组。 *而phase_handler成员则与该数组配合使用。表示请求下次应当执行phase_handler作为序列号指定的数组中的回调方法*/ ngx_int_t phase_handler; //表示NGX_HTT...
ngx_http_process_request会设置当前的连接的读写事件处理函数为ngx_http_request_handler,然后再调用ngx_http_handler来真正开始处理一个完整的http请求。这里可能比较奇怪,读写事件处理函数都是ngx_http_request_handler,其实在这个函数中,会根据当前事件是读事件还是写事件,分别调用ngx_http_request_t中的read_event_...
//ngx_http_process_request_headers在接收、解析完http请求的头部后,会把解析完的每一个http头部加入到headers_in的headers链表中,同时会构造headers_in中的其他成员 ngx_http_headers_in_t headers_in; //http模块会把想要发送的http相应信息放到headers_out中,期望http框架将headers_out中的成员序列化为http响应...
//ngx_http_process_request_headers在接收、解析完http请求的头部后,会把解析完的每一个http头部加入到headers_in的headers链表中,同时会构造headers_in中的其他成员 ngx_http_headers_in_t headers_in; //http模块会把想要发送的http相应信息放到headers_out中,期望http框架将headers_out中的成员序列化为http响应...
Nginx 基于请求头的分发
1 struct ngx_http_request_s { 2 ... 3 //请求头 4 ngx_buf_t *header_in; 5 6 ngx_http_headers_in_t headers_in; 7 ngx_http_headers_out_t headers_out; 8 //请求体 9 ngx_http_request_body_t *request_body; 10 //请求行 ...
Nginx作为一款开源的、高性能的HTTP服务器和反向代理服务器而闻名,本文基于nginx-1.15.0,将为读者简要...
将ngx_http_request_t结构体的read_event_handler回调函数设置为ngx_http_block_reading,这个函数实际上并不做任何事情。可以理解为:在当前HTTP请求没有处理结束之前,即使再次有读事件被触发,也不做任何处理,实际上相当于读事件被阻塞了。 接下来调用ngx_http_handler函数。
1. 等待read事件ngx_http_wait_request_handler 等待read事件上来,并且等到HTTP的request数据。 ngx_http_wait_request_handler主要是一个等待数据到来的功能。里面有一个设计亮点:此函数会一直等待TCP管道中的数据,如果触发了read事件,但是没有读取到数据,则Nginx会将buf内存删除,然后继续等待read事件的到来,好处是防止...
Git mirror of the Nginx SVN repository, automatically updated 2 times a day. - nginx/src/http/ngx_http_request.h at master · phusion/nginx