django 获得到的请求头封装在 request 的 META 中,为一个 dict
以下选自官方文档:
https://docs.djangoproject.com/zh-hans/2.0/ref/request-response/#django.http.HttpRequest.META
HttpRequest.META¶
A dictionary containing all available HTTP headers. Available headers depend on the client and server, but here are some examples:
CONTENT_LENGTH-- The length of the request body (as a string).CONTENT_TYPE-- The MIME type of the request body.HTTP_ACCEPT-- Acceptable content types for the response.HTTP_ACCEPT_ENCODING-- Acceptable encodings for the response.HTTP_ACCEPT_LANGUAGE-- Acceptable languages for the response.HTTP_HOST-- The HTTP Host header sent by the client.HTTP_REFERER-- The referring page, if any.HTTP_USER_AGENT-- The client's user-agent string.QUERY_STRING-- The query string, as a single (unparsed) string.REMOTE_ADDR-- The IP address of the client.REMOTE_HOST-- The hostname of the client.REMOTE_USER-- The user authenticated by the Web server, if any.REQUEST_METHOD-- A string such as"GET"or"POST".SERVER_NAME-- The hostname of the server.SERVER_PORT-- The port of the server (as a string).
With the exception of CONTENT_LENGTH and CONTENT_TYPE, as given above, any HTTP headers in the request are converted to META keys by converting all characters to uppercase, replacing any hyphens with underscores and adding an HTTP_ prefix to the name. So, for example, a header called X-Bender would be mapped to the META key HTTP_X_BENDER.
2.4+.
Google 的翻译如下:
HttpRequest.META¶
包含所有可用HTTP标头的字典。可用的头文件取决于客户端和服务器,但以下是一些示例:
CONTENT_LENGTH - 请求正文的长度(作为字符串)。
CONTENT_TYPE - 请求正文的MIME类型。
HTTP_ACCEPT - 响应的可接受内容类型。
HTTP_ACCEPT_ENCODING - 响应的可接受编码。
HTTP_ACCEPT_LANGUAGE - 响应的可接受语言。
HTTP_HOST - 客户端发送的HTTP主机头。
HTTP_REFERER - 引用页面(如果有)。
HTTP_USER_AGENT - 客户端的用户代理字符串。
QUERY_STRING - 查询字符串,作为单个(未解析)字符串。
REMOTE_ADDR - 客户端的IP地址。
REMOTE_HOST - 客户端的主机名。
REMOTE_USER - Web服务器验证的用户(如果有)。
REQUEST_METHOD - 诸如“GET”或“POST”之类的字符串。
SERVER_NAME - 服务器的主机名。
SERVER_PORT - 服务器的端口(作为字符串)。
除了上面给出的CONTENT_LENGTH和CONTENT_TYPE之外,请求中的任何HTTP头都将转换为META密钥,方法是将所有字符转换为大写,用下划线替换任何连字符,并在名称中添加HTTP_前缀。因此,例如,名为X-Bender的标头将映射到META密钥HTTP_X_BENDER。
包含所有可用HTTP标头的字典。可用的头文件取决于客户端和服务器,但以下是一些示例:
CONTENT_LENGTH - 请求正文的长度(作为字符串)。
CONTENT_TYPE - 请求正文的MIME类型。
HTTP_ACCEPT - 响应的可接受内容类型。
HTTP_ACCEPT_ENCODING - 响应的可接受编码。
HTTP_ACCEPT_LANGUAGE - 响应的可接受语言。
HTTP_HOST - 客户端发送的HTTP主机头。
HTTP_REFERER - 引用页面(如果有)。
HTTP_USER_AGENT - 客户端的用户代理字符串。
QUERY_STRING - 查询字符串,作为单个(未解析)字符串。
REMOTE_ADDR - 客户端的IP地址。
REMOTE_HOST - 客户端的主机名。
REMOTE_USER - Web服务器验证的用户(如果有)。
REQUEST_METHOD - 诸如“GET”或“POST”之类的字符串。
SERVER_NAME - 服务器的主机名。
SERVER_PORT - 服务器的端口(作为字符串)。
除了上面给出的CONTENT_LENGTH和CONTENT_TYPE之外,请求中的任何HTTP头都将转换为META密钥,方法是将所有字符转换为大写,用下划线替换任何连字符,并在名称中添加HTTP_前缀。因此,例如,名为X-Bender的标头将映射到META密钥HTTP_X_BENDER。