2 * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 #ifndef SQUID_HTTP_REGISTEREDHEADERS_H
10 #define SQUID_HTTP_REGISTEREDHEADERS_H
12 /// recognized or "known" header fields; and the RFC which defines them (or not)
13 /// http://www.iana.org/assignments/message-headers/message-headers.xhtml
16 HDR_ACCEPT
= 0, /**< RFC 7231 */
17 HDR_ACCEPT_CHARSET
, /**< RFC 7231 */
18 HDR_ACCEPT_ENCODING
, /**< RFC 7231 */
19 /*HDR_ACCEPT_FEATURES,*/ /* RFC 2295 */
20 HDR_ACCEPT_LANGUAGE
, /**< RFC 7231 */
21 HDR_ACCEPT_RANGES
, /**< RFC 7233 */
22 HDR_AGE
, /**< RFC 7234 */
23 HDR_ALLOW
, /**< RFC 7231 */
24 HDR_ALTERNATE_PROTOCOL
, /**< GFE custom header we may have to erase */
25 HDR_AUTHENTICATION_INFO
, /**< RFC 2617 */
26 HDR_AUTHORIZATION
, /**< RFC 7235, 4559 */
27 HDR_CACHE_CONTROL
, /**< RFC 7234 */
28 HDR_CONNECTION
, /**< RFC 7230 */
29 HDR_CONTENT_BASE
, /**< obsoleted RFC 2068 */
30 HDR_CONTENT_DISPOSITION
, /**< RFC 2183, 6266 */
31 HDR_CONTENT_ENCODING
, /**< RFC 7231 */
32 HDR_CONTENT_LANGUAGE
, /**< RFC 7231 */
33 HDR_CONTENT_LENGTH
, /**< RFC 7230 */
34 HDR_CONTENT_LOCATION
, /**< RFC 7231 */
35 HDR_CONTENT_MD5
, /**< deprecated, RFC 2616 */
36 HDR_CONTENT_RANGE
, /**< RFC 7233 */
37 HDR_CONTENT_TYPE
, /**< RFC 7231 */
38 HDR_COOKIE
, /**< RFC 6265 header we may need to erase */
39 HDR_COOKIE2
, /**< obsolete RFC 2965 header we may need to erase */
40 HDR_DATE
, /**< RFC 7231 */
41 /*HDR_DAV,*/ /* RFC 2518 */
42 /*HDR_DEPTH,*/ /* RFC 2518 */
43 /*HDR_DERIVED_FROM,*/ /* deprecated RFC 2068 */
44 /*HDR_DESTINATION,*/ /* RFC 2518 */
45 HDR_ETAG
, /**< RFC 7232 */
46 HDR_EXPECT
, /**< RFC 7231 */
47 HDR_EXPIRES
, /**< RFC 7234 */
48 HDR_FORWARDED
, /**< RFC 7239 */
49 HDR_FROM
, /**< RFC 7231 */
50 HDR_HOST
, /**< RFC 7230 */
51 HDR_HTTP2_SETTINGS
, /**< HTTP/2.0 upgrade header. see draft-ietf-httpbis-http2-13 */
52 /*HDR_IF,*/ /* RFC 2518 */
53 HDR_IF_MATCH
, /**< RFC 7232 */
54 HDR_IF_MODIFIED_SINCE
, /**< RFC 7232 */
55 HDR_IF_NONE_MATCH
, /**< RFC 7232 */
56 HDR_IF_RANGE
, /**< RFC 7233 */
57 HDR_IF_UNMODIFIED_SINCE
, /**< RFC 7232 */
58 HDR_KEEP_ALIVE
, /**< obsoleted RFC 2068 header we may need to erase */
59 HDR_KEY
, /**< experimental RFC Draft draft-fielding-http-key-02 */
60 HDR_LAST_MODIFIED
, /**< RFC 7232 */
61 HDR_LINK
, /**< RFC 5988 */
62 HDR_LOCATION
, /**< RFC 7231 */
63 /*HDR_LOCK_TOKEN,*/ /* RFC 2518 */
64 HDR_MAX_FORWARDS
, /**< RFC 7231 */
65 HDR_MIME_VERSION
, /**< RFC 2045, 7231 */
66 HDR_NEGOTIATE
, /**< experimental RFC 2295. Why only this one from 2295? */
67 /*HDR_OVERWRITE,*/ /* RFC 2518 */
68 HDR_ORIGIN
, /* CORS Draft specification (see http://www.w3.org/TR/cors/) */
69 HDR_PRAGMA
, /**< RFC 7234 */
70 HDR_PROXY_AUTHENTICATE
, /**< RFC 7235 */
71 HDR_PROXY_AUTHENTICATION_INFO
, /**< RFC 2617 */
72 HDR_PROXY_AUTHORIZATION
, /**< RFC 7235 */
73 HDR_PROXY_CONNECTION
, /**< obsolete Netscape header we may need to erase. */
74 HDR_PROXY_SUPPORT
, /**< RFC 4559 */
75 HDR_PUBLIC
, /**< RFC 2068 */
76 HDR_RANGE
, /**< RFC 7233 */
77 HDR_REFERER
, /**< RFC 7231 */
78 HDR_REQUEST_RANGE
, /**< some clients use this, sigh */
79 HDR_RETRY_AFTER
, /**< RFC 7231 */
80 HDR_SERVER
, /**< RFC 7231 */
81 HDR_SET_COOKIE
, /**< RFC 6265 header we may need to erase */
82 HDR_SET_COOKIE2
, /**< obsoleted RFC 2965 header we may need to erase */
83 /*HDR_STATUS_URI,*/ /* RFC 2518 */
84 /*HDR_TCN,*/ /* experimental RFC 2295 */
85 HDR_TE
, /**< RFC 7230 */
86 /*HDR_TIMEOUT,*/ /* RFC 2518 */
87 HDR_TITLE
, /* obsolete draft suggested header */
88 HDR_TRAILER
, /**< RFC 7230 */
89 HDR_TRANSFER_ENCODING
, /**< RFC 7230 */
90 HDR_TRANSLATE
, /**< IIS custom header we may need to erase */
91 HDR_UNLESS_MODIFIED_SINCE
, /**< IIS custom header we may need to erase */
92 HDR_UPGRADE
, /**< RFC 7230 */
93 HDR_USER_AGENT
, /**< RFC 7231 */
94 /*HDR_VARIANT_VARY,*/ /* experimental RFC 2295 */
95 HDR_VARY
, /**< RFC 7231 */
96 HDR_VIA
, /**< RFC 7230 */
97 HDR_WARNING
, /**< RFC 7234 */
98 HDR_WWW_AUTHENTICATE
, /**< RFC 7235, 4559 */
99 HDR_X_CACHE
, /**< Squid custom header */
100 HDR_X_CACHE_LOOKUP
, /**< Squid custom header. temporary hack that became de-facto. TODO remove */
101 HDR_X_FORWARDED_FOR
, /**< obsolete Squid custom header, RFC 7239 */
102 HDR_X_REQUEST_URI
, /**< Squid custom header appended if ADD_X_REQUEST_URI is defined */
103 HDR_X_SQUID_ERROR
, /**< Squid custom header on generated error responses */
104 #if X_ACCELERATOR_VARY
105 HDR_X_ACCELERATOR_VARY
, /**< obsolete Squid custom header. */
108 HDR_X_NEXT_SERVICES
, /**< Squid custom ICAP header */
110 HDR_SURROGATE_CAPABILITY
, /**< Edge Side Includes (ESI) header */
111 HDR_SURROGATE_CONTROL
, /**< Edge Side Includes (ESI) header */
112 HDR_FRONT_END_HTTPS
, /**< MS Exchange custom header we may have to add */
113 HDR_FTP_COMMAND
, /**< Internal header for FTP command */
114 HDR_FTP_ARGUMENTS
, /**< Internal header for FTP command arguments */
115 HDR_FTP_PRE
, /**< Internal header containing leading FTP control response lines */
116 HDR_FTP_STATUS
, /**< Internal header for FTP reply status */
117 HDR_FTP_REASON
, /**< Internal header for FTP reply reason */
118 HDR_OTHER
, /**< internal tag value for "unknown" headers */
122 #endif /* SQUID_HTTP_REGISTEREDHEADERS_H */