• nginx uri和request_uri区别


    This variable is equal to the *original* request URI as received from the client including the args. It cannot be modified. Look at $uri for the post-rewrite/altered URI. Does not include host name. Example: "/foo/bar.php?arg=baz" 
    这个变量等于从客户端发送来的原生请求URI,包括参数。它不可以进行修改。$uri变量反映的是重写后/改变的URI。不包括主机名。例如:"/foo/bar.php?arg=baz"
     
    This variable is the current request URI, without any arguments (see $args for those). This variable will reflect any modifications done so far by internal redirects or the index module. Note this may be different from $request_uri, as $request_uri is what was originally sent by the browser before any such modifications. Does not include the protocol or host name. Example: /foo/bar.html 
    这个变量指当前的请求URI,不包括任何参数(见$args)。这个变量反映任何内部重定向或index模块所做的修改。注意,这和$request_uri不同,因$request_uri是浏览器发起的不做任何修改的原生URI。不包括协议及主机名。例如:"/foo/bar.html"
     
    $document_uri
    The same as $uri. 
     
    nginx内置变量汇总:

    Embedded Variables

    The ngx_http_core_module module supports embedded variables with names matching the Apache Server variables. First of all, these are variables representing client request header fields, such as $http_user_agent$http_cookie, and so on. Also there are other variables:

    $arg_name
    argument name in the request line
    $args
    arguments in the request line
    $binary_remote_addr
    client address in a binary form, value’s length is always 4 bytes for IPv4 addresses or 16 bytes for IPv6 addresses
    $body_bytes_sent
    number of bytes sent to a client, not counting the response header; this variable is compatible with the “%B” parameter of the mod_log_config Apache module
    $bytes_sent
    number of bytes sent to a client (1.3.8, 1.2.5)
    $connection
    connection serial number (1.3.8, 1.2.5)
    $connection_requests
    current number of requests made through a connection (1.3.8, 1.2.5)
    $content_length
    “Content-Length” request header field
    $content_type
    “Content-Type” request header field
    the name cookie
    $document_root
    root or alias directive’s value for the current request
    $document_uri
    same as $uri
    $host
    in this order of precedence: host name from the request line, or host name from the “Host” request header field, or the server name matching a request
    $hostname
    host name
    $http_name
    arbitrary request header field; the last part of a variable name is the field name converted to lower case with dashes replaced by underscores
    $https
    on” if connection operates in SSL mode, or an empty string otherwise
    $is_args
    ?” if a request line has arguments, or an empty string otherwise
    $limit_rate
    setting this variable enables response rate limiting; see limit_rate
    $msec
    current time in seconds with the milliseconds resolution (1.3.9, 1.2.6)
    $nginx_version
    nginx version
    $pid
    PID of the worker process
    $pipe
    p” if request was pipelined, “.” otherwise (1.3.12, 1.2.7)
    $proxy_protocol_addr
    client address from the PROXY protocol header, or an empty string otherwise (1.5.12)

    The PROXY protocol must be previously enabled by setting the proxy_protocol parameter in the listen directive.

    $proxy_protocol_port
    client port from the PROXY protocol header, or an empty string otherwise (1.11.0)

    The PROXY protocol must be previously enabled by setting the proxy_protocol parameter in the listen directive.

    $query_string
    same as $args
    $realpath_root
    an absolute pathname corresponding to the root or alias directive’s value for the current request, with all symbolic links resolved to real paths
    $remote_addr
    client address
    $remote_port
    client port
    $remote_user
    user name supplied with the Basic authentication
    $request
    full original request line
    $request_body
    request body

    The variable’s value is made available in locations processed by the proxy_passfastcgi_pass,uwsgi_pass, and scgi_pass directives when the request body was read to a memory buffer.

    $request_body_file
    name of a temporary file with the request body

    At the end of processing, the file needs to be removed. To always write the request body to a file,client_body_in_file_only needs to be enabled. When the name of a temporary file is passed in a proxied request or in a request to a FastCGI/uwsgi/SCGI server, passing the request body should be disabled by the proxy_pass_request_body offfastcgi_pass_request_body off,uwsgi_pass_request_body off, or scgi_pass_request_body off directives, respectively.

    $request_completion
    OK” if a request has completed, or an empty string otherwise
    $request_filename
    file path for the current request, based on the root or alias directives, and the request URI
    $request_id
    unique request identifier generated from 16 random bytes, in hexadecimal (1.11.0)
    $request_length
    request length (including request line, header, and request body) (1.3.12, 1.2.7)
    $request_method
    request method, usually “GET” or “POST
    $request_time
    request processing time in seconds with a milliseconds resolution (1.3.9, 1.2.6); time elapsed since the first bytes were read from the client
    $request_uri
    full original request URI (with arguments)
    $scheme
    request scheme, “http” or “https
    $sent_http_name
    arbitrary response header field; the last part of a variable name is the field name converted to lower case with dashes replaced by underscores
    $sent_trailer_name
    arbitrary field sent at the end of the response (1.13.2); the last part of a variable name is the field name converted to lower case with dashes replaced by underscores
    $server_addr
    an address of the server which accepted a request

    Computing a value of this variable usually requires one system call. To avoid a system call, the listendirectives must specify addresses and use the bind parameter.

    $server_name
    name of the server which accepted a request
    $server_port
    port of the server which accepted a request
    $server_protocol
    request protocol, usually “HTTP/1.0”, “HTTP/1.1”, or “HTTP/2.0
    $status
    response status (1.3.2, 1.2.2)
    $tcpinfo_rtt$tcpinfo_rttvar$tcpinfo_snd_cwnd$tcpinfo_rcv_space
    information about the client TCP connection; available on systems that support the TCP_INFO socket option
    $time_iso8601
    local time in the ISO 8601 standard format (1.3.12, 1.2.7)
    $time_local
    local time in the Common Log Format (1.3.12, 1.2.7)
    $uri
    current URI in request, normalized

    The value of $uri may change during request processing, e.g. when doing internal redirects, or when using index files.

     
     

     

  • 相关阅读:
    查询BLOB字段的长度
    java中使用公钥加密私钥解密原理实现license控制
    Eclipse调试Bug的七种常用技巧
    mysql视图
    动态缓存技术之CSI,SSI,ESI
    取得图片原来的大小
    fieldset也是表单元素
    isInt
    取得浏览器的文档类型
    option的value、text与label
  • 原文地址:https://www.cnblogs.com/mikeluwen/p/7116967.html
Copyright © 2020-2023  润新知