bhanu7k
bhanu7k

Reputation: 65

How many headers are allowed in HTTP protocol?

I would like to know how many headers are allowed in HTTP protocol. Is there any limit on this?

Is this limit different for Request and Response?

Gone through HTTP RFC, but no luck. Could you please provide me any official document or link about this.

Upvotes: 1

Views: 2341

Answers (2)

Julian Reschke
Julian Reschke

Reputation: 41997

HTTP/1.1 does not define such a limit. See RFC 7230, Section 3.2.5 (https://greenbytes.de/tech/webdav/rfc7230.html#field.limits):

3.2.5. Field Limits

HTTP does not place a predefined limit on the length of each header field or on the length of the header section as a whole, as described in Section 2.5. Various ad hoc limitations on individual header field length are found in practice, often depending on the specific field semantics.

A server that receives a request header field, or set of fields, larger than it wishes to process MUST respond with an appropriate 4xx (Client Error) status code. Ignoring such header fields would increase the server's vulnerability to request smuggling attacks (Section 9.5).

A client MAY discard or truncate received header fields that are larger than the client wishes to process if the field semantics are such that the dropped value(s) can be safely ignored without changing the message framing or response semantics.

Upvotes: 2

Ahmad Hijazi
Ahmad Hijazi

Reputation: 673

HTTP does not define any limit. But beware that web servers may define the max size of headers they receive.

"Multiple message-header fields with the same field-name MAY be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list [i.e., #(values)]." Source: https://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html

Upvotes: 0

Related Questions