Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

x/net/http2: split cookie header as recommended by spec #29386

Closed
rs opened this issue Dec 21, 2018 · 4 comments
Closed

x/net/http2: split cookie header as recommended by spec #29386

rs opened this issue Dec 21, 2018 · 4 comments
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@rs
Copy link
Contributor

rs commented Dec 21, 2018

As per 8.1.2.5, To allow for better compression efficiency, the Cookie header field MAY be split into separate header fields, each with one or more cookie-pairs.

After some tests, it does positively impact compression rate and reduces the eviction rate on the dynamic table (flavor may vary depending traffic patterns).

@gopherbot
Copy link

Change https://golang.org/cl/155657 mentions this issue: x/net/http2: split cookie pair into separate hpack header fields

@katiehockman katiehockman changed the title x/net/http2: split cookie header as recommended by spec net/http2: split cookie header as recommended by spec Jan 2, 2019
@katiehockman katiehockman added the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Jan 2, 2019
@katiehockman
Copy link
Contributor

/cc @bradfitz

@katiehockman katiehockman added this to the Go1.13 milestone Jan 2, 2019
@rs rs changed the title net/http2: split cookie header as recommended by spec x/net/http2: split cookie header as recommended by spec Jan 2, 2019
@bradfitz
Copy link
Contributor

bradfitz commented Jan 2, 2019

SGTM.

@bradfitz bradfitz added the NeedsFix The path to resolution is known, but the work has not been done. label Jan 2, 2019
@gopherbot gopherbot removed the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Jan 2, 2019
@andybons andybons modified the milestones: Go1.13, Go1.14 Jul 8, 2019
@rsc rsc modified the milestones: Go1.14, Backlog Oct 9, 2019
@smasher164 smasher164 modified the milestones: Backlog, Go1.14 Oct 11, 2019
@gopherbot
Copy link

Change https://golang.org/cl/209077 mentions this issue: net/http: update bundled x/net/http2

gopherbot pushed a commit that referenced this issue Nov 27, 2019
Updates bundled http2 to x/net git rev ef20fe5d7 for:

   http2: make Transport.IdleConnTimeout consider wall (not monotonic) time
   https://golang.org/cl/208798 (#29308)

   http2: make CipherSuites validation error more verbose
   https://golang.org/cl/200317 (#34776)

   http2: track unread bytes when the pipe is broken
   https://golang.org/cl/187377 (#28634)

   http2: split cookie pair into separate hpack header fields
   https://golang.org/cl/155657 (#29386)

Fixes #29308
Fixes #28634

Change-Id: I71a03ca62ccb5ff35a5cfadd8dc705a4491ae7ea
Reviewed-on: https://go-review.googlesource.com/c/go/+/209077
Reviewed-by: Ian Lance Taylor <iant@golang.org>
@golang golang locked and limited conversation to collaborators Nov 26, 2020
dteh pushed a commit to dteh/fhttp that referenced this issue Jun 22, 2022
As per 8.1.2.5, To allow for better compression efficiency, the Cookie header
field MAY be split into separate header fields, each with one or more
cookie-pairs.

Fixes golang/go#29386

Change-Id: Ia73aea00b76350c822544f180b5da19d50e51f68
Reviewed-on: https://go-review.googlesource.com/c/net/+/155657
Reviewed-by: Katie Hockman <katie@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Run-TryBot: Katie Hockman <katie@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
None yet
Development

No branches or pull requests

7 participants