Skip to content

HTTP/1.1: Transfer-Encoding:identity is prohibited#2427

Closed
yadij wants to merge 1 commit into
squid-cache:masterfrom
yadij:http11-te-identity
Closed

HTTP/1.1: Transfer-Encoding:identity is prohibited#2427
yadij wants to merge 1 commit into
squid-cache:masterfrom
yadij:http11-te-identity

Conversation

@yadij
Copy link
Copy Markdown
Contributor

@yadij yadij commented May 31, 2026

HTTP specification deprecated identity encoding but still allows
its use as an unknown encoding when the Transfer-Encoding
header is otherwise correctly used.

Squid compliance update at the time kept accepting identity
encoding as it was being used by agents. The form supported was
Transfer-Encoding:identity.

However, the HTTP specification explicitly requires that any
encoding MUST be wrapped within chunked encoding.

As such the bare Transfer-Encoding:identity form Squid accepted
is explicitly prohibited.

The correct Transfer-Encoding:identity,chunked syntax has been
rejected by Squid for nearly 5 years already without complaint.
So support is being dropped entirely here.

HTTP specification deprecated identity encoding but still
allows its use when the Transfer-Encoding header is
otherwise correctly used.

Squid compliance update at the time kept accepting this
encoding as it was being used by agents. However the
HTTP specification explicitly requires that encoding
to be wrapped within chunked encoding.

The bare Transfer-Encoding:identity form is explicitly
prohitibed with a MUST apply chunked requirement.
@yadij yadij added M-cleared-for-merge https://github.com/measurement-factory/anubis#pull-request-labels S-could-use-an-approval An approval may speed this PR merger (but is not required) backport-to-v7 maintainer has approved these changes for v7 backporting labels May 31, 2026
Copy link
Copy Markdown
Contributor

@kinkie kinkie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

squid-anubis pushed a commit that referenced this pull request Jun 2, 2026
HTTP specification deprecated identity encoding but still allows
its use as an unknown encoding when the Transfer-Encoding
header is otherwise correctly used.

Squid compliance update at the time kept accepting identity
encoding as it was being used by agents. The form supported was
Transfer-Encoding:identity.

However, the HTTP specification explicitly requires that any
encoding MUST be wrapped within chunked encoding.

As such the bare Transfer-Encoding:identity form Squid accepted
is explicitly prohibited.

The correct Transfer-Encoding:identity,chunked syntax has been
rejected by Squid for nearly 5 years already without complaint.
So support is being dropped entirely here.
@squid-anubis squid-anubis added the M-waiting-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels label Jun 2, 2026
@squid-anubis squid-anubis added M-merged https://github.com/measurement-factory/anubis#pull-request-labels and removed M-waiting-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels M-cleared-for-merge https://github.com/measurement-factory/anubis#pull-request-labels labels Jun 2, 2026
@yadij yadij removed the S-could-use-an-approval An approval may speed this PR merger (but is not required) label Jun 2, 2026
@yadij yadij deleted the http11-te-identity branch June 2, 2026 11:11
@squidadm squidadm removed the backport-to-v7 maintainer has approved these changes for v7 backporting label Jun 2, 2026
@squidadm
Copy link
Copy Markdown
Collaborator

squidadm commented Jun 2, 2026

queued for backport to v7

@kinkie kinkie mentioned this pull request Jun 2, 2026
kinkie pushed a commit that referenced this pull request Jun 2, 2026
HTTP specification deprecated identity encoding but still allows
its use as an unknown encoding when the Transfer-Encoding
header is otherwise correctly used.

Squid compliance update at the time kept accepting identity
encoding as it was being used by agents. The form supported was
Transfer-Encoding:identity.

However, the HTTP specification explicitly requires that any
encoding MUST be wrapped within chunked encoding.

As such the bare Transfer-Encoding:identity form Squid accepted
is explicitly prohibited.

The correct Transfer-Encoding:identity,chunked syntax has been
rejected by Squid for nearly 5 years already without complaint.
So support is being dropped entirely here.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

M-merged https://github.com/measurement-factory/anubis#pull-request-labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants