02 2020 档案

摘要: 阅读全文
posted @ 2020-02-26 21:27 codestacklinuxer 阅读(269) 评论(0) 推荐(0)
摘要:upstream直接转发响应时的具体处理流程,主要是上面subrequest_memory为1的场景,此时该请求属于一个子请求。分析默认的input_filter的处理方法,如果读取包头时同时读到了包体信息,会调用input_filter方法处理: /* 将u->buffer.last - u->b 阅读全文
posted @ 2020-02-26 21:26 codestacklinuxer 阅读(459) 评论(0) 推荐(0)
摘要:Nginx访问上游服务器的流程大致分以下几个阶段:启动upstream、连接上游服务器、向上游发送请求、接收上游响应(包头/包体)、结束请求。 upstream相关的两个重要数据结构ngx_http_upstream_t和ngx_http_upstream_conf_t /* upstream有3种 阅读全文
posted @ 2020-02-26 21:25 codestacklinuxer 阅读(713) 评论(0) 推荐(0)
摘要:ngx_http_process_request如果设置了定时器则删除,既然所有的请求已经接收完毕,就不会再发生超时了 重设连接的读写回调函数 重设请求读事件回调函数 调用 ngx_http_handler 处理 HTTP 请求的 11 个阶段 调用 ngx_http_run_posted_requ 阅读全文
posted @ 2020-02-25 17:54 codestacklinuxer 阅读(741) 评论(0) 推荐(0)
摘要:HTTP 请求行正确处理完成后,针对 HTTP/1.0 及以上版本紧接着要做的就是请求 HEADER 的处理与解析了 /** * 用于处理http的header数据 * 请求头: * Host: localhost * User-Agent: Mozilla/5.0 (Windows NT 5.1; 阅读全文
posted @ 2020-02-25 16:57 codestacklinuxer 阅读(325) 评论(0) 推荐(0)
摘要:在 ngx_http_wait_request_handler 的最后调用了 ngx_http_process_request_line 函数用来处理和解析这次请求的全文 在读事件被触发时,内核套接字缓冲区的大小未必足够接收到全部的HTTP请求行;所以可能多次调用ngx_http_process_r 阅读全文
posted @ 2020-02-25 16:53 codestacklinuxer 阅读(656) 评论(0) 推荐(0)
摘要:对于活跃的 HTTP 连接,在执行连接建立回调函数 ngx_http_init_connection 的过程中会执行 ngx_http_wait_request_handler 回调函数, 负责 HTTP 请求的接收与 HTTP 请求描述结构的创建和初始化,并且第一次读取客户端数据到数据。 因此当客 阅读全文
posted @ 2020-02-25 16:50 codestacklinuxer 阅读(680) 评论(0) 推荐(0)