HttpRequest.META  
A standard Python 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.
Note that runserver strips all headers with underscores in the name, so you won’t see them in META. This prevents header-spoofing based on ambiguity between underscores and dashes both being normalizing to underscores in WSGI environment variables. It matches the behavior of Web servers like Nginx and Apache 2.4+.
Please login to continue.