nginx ngx_http_request_t中uri一次查错

ngx_http_request_t

该结构体中存储了nginx的一次请求的所有信息,其中uri是ngx_str_t类型,另外该结构体中还有成员uri_start和uri_end,很多教程和书里说uri.data的值与uri_start相等,但在url异常的情况下并不是的。
下图中代码在ngx_http_request.c文件中,nginx版本不同行数不同。
nginx ngx_http_request_t中uri一次查错_第1张图片

那些异常会导致不同

在ngx_http_parse.c文件中,解析http头是会给complex_url和quoted_uri赋值,如下图:
nginx ngx_http_request_t中uri一次查错_第2张图片

综述

所以,看源码还是非常有必要的。

你可能感兴趣的:(nginx)