IETF101: 20 March 2018 HTTP WG Meeting Minutes
Scribe: Bron Gondwana
Active Drafts
BCP56bis: revision of use of HTTP as a substrate
- Mark: good progress - more examples, more review required
- Reviews have been positive - useful outside this group
Bootstrapping Websockets
- Issue 471: consider using ALPN (currently using Upgrade)
- Martin Thompson
- inherent problem with this proposal,
donât know that server supports HTTP/2.
- to use this design, have to choose HTTP/1.1
- Nick - Akamai
- is it worth having an H2 w connect ALPN token.
- response: have resisted bundling options at
request time.
- Bence BĂŠky - Google
- Chrome has an implementation, rough but seems to work
- 2 servers: hghttp2 and libwebsockets.
- server implementors have tested with Chrome, it works
- 3rd server in dev, doesnât work yet.
- supports recommendation: no server level ALPN
- to respond to âin advanceâ doesnât know server supports
h2/websocket. Inclined to send request regardless of
response from server - will fail anyway
- Martin - Mozilla
- in TLS/1.3 server can send settings first anyway. Temporary
problem, not dire
- Is modifying CONNECT REASONABLE?
- in every codebase, connect is handled in a different codepath
already.
- alternative: new method rather than CONNECT
- Mark Nottingham
- want to make sure that we consciously do this: having a protocol
specific setting override standard HTTP method behaviour
- Julian Reschke
- whatâs the process for defining new pseudo headers? H2 spec says we
canât define new pseudo headers?
- answer: 7540 is clear that settings mechanism can override behaviour
- Martin
- sending this new pseudo-header in a request to a server you havenât
received settings from. Predict: explosions. Whole connection would
break, not just the websockets bit.
- answer: can fix with TLS/1.3 so we know what to send!
- suggestion: change use of exiting pseudo-headers instead? So only
the connect stream would fail.
- resolution: this is negotiated - negotiations require a round trip
- there is no solution
- Alan - Facebook
- Mike Bishop - Akamai
- currently H2 spec says âif you have an unknown pseudo header, must treat it as
a stream error, NOT a connection errorâ
- Martin
- yeah, we kinda screwed up there, but itâs OK!
QUESTION to the room: does anyone have any problems with modifying CONNECT? Nope.
Random access and live content - Craig Pratt (remote)
New standard went out last night - not significantly different to previous,
mostly editorial.
Q: whatâs left before last call?
- thanks for rattling cages - got feedback.
- expected changes in shift buffers - and thatâs where they happened
- one question out there: will answer on mailing list, has clear answer
- donât expect to add anything to the draft
- Martin
- suggest: WGLC now
- lots of people have paid attention to it
- Mark: 2 weeks should be fine
- from Jabber:
- Tom Peterson
- see question on mailing list about 416
- answer: while server may internally use circular buffer to represent
shift buffer, shouldnât be a concept of resetting.
- canât internally have a concept of resetting if itâs going to be cacheable
- Martin Thompson: great answer, donât need to write it down
Secondary Certificates: Mike
Adopted last time. Have merged it. Exported identifiers (TLS group)
Open issue: handling cases where the client wants to offer a cert because
it expects the server to want it. How weâre using frames on streams that
may have already ended. On h2 itâs OK, over QUIC doesnât, because itâs
already gone.
- Martin Thompson
- a lot of activity on this in TLS. Until thatâs resolved, this canât
be buttoned down.
- Mark: happy to let it bubble along while TLS iw working on it.
- Patrick: important to future of HTTP, so get it on your radar.
- Ryan Sleevi - Google
- itâs a rethinking of how we think about the TLS crypto
- one thing not addressed in the draft - it addresses client risk (might want to look
at DNS), but doesnât address server risk - the risk a server has of
being impersonated.
- talking to server operators: potentially allows widespread attack if you
can obtain a compromised certificate.
- right now you can use BGP detection, etc. Not possible with secondary certs
- Erik
- Risk now: if you can compromise DNS + BGP and a cert, you can attack
- with this: only need a compromised cert
- Mark: relaxation of DNS was done with Origin spec
- Erik: speaking about serverâs ability to see if thereâs compromise
- with this, no way to detect
- Mark: can you suggest text.
- CT: works for illegitimate certs
- but: with stolen cert (server key compromise)
- canât discover compromise easily with this
Mike: donât have advice for detecting key compromise
More to talk about, not going to WGLC any time soon!
Expect-CT: Emily canât be here.
no comments
- Martin Thompson
- limits are good
- if you used all of this, then youâd have other problems
- ?
- always have the option to extend the spec
- Mark: push back on this, if you get more than 256 items, hard error
- point is to have a generic implementation. Donât want to allow override of limits
- Mark: could define structured-headers-2
- Roy Fielding
- not sure that this would do any good
- we already have guidance on headers, an nobody follows them already
- who enforces?
- Mark: parser will raise an error only if over 1024
- software then needs to check âonly want 5â
- John Lennox
- clearly defaults are great
- ability for specific sub behaviour
- Mark: could just do a non-common header, or define new common-2
- Julian Reschke
- maybe would make sense to think about length limits in a different way than
currently.
- maybe just specify whole size of header field?
- Mark: want to think about it, make sure assumption is going to hold
- Jeffery Yaskin
- Chrome has a prototype already
- Mark: YAY - shrieked! Patrick insists this is in.
- currently specified as http list syntax - HTTP spec specifies
how to handle multiple headers
- Brent/Brand?
- was going to comment in discussion about strings, but:
- URIs? Common data type, should they have separate representation?
- suggest: maximum length of string take URI into account
Cache Digests for HTTP/2 - Kazuho Oku
2 open issues (plus 1 editorial issue not covered today)
- Server indication is per-connection
- require clients to cache the info?
- Patrick
- ORIGIN - fairly serious deviation from definition
- Alessandro Ghedini
- donât think it should be per-origin - itâs a per-server thing
- Mike Bishop
- main case where you want to spell it out - wildcard subdomains
- ORIGIN doesnât have wildcard support
- would need to enumerate all possible domains
- Mark Nottingham
- if not caching, ORIGIN makes sense
- Patrick: didnât envisage that ORIGIN would be just a bunch of settings
- maybe new frame type would make sense, but how do you cache it?
Explore on the list
- Hugo
- just to add to the complexity of this, can conceive of servers which are
authoritative for and would like to cache forâŚ
- Patrick: agreement on this, question is whether ORIGIN is correct approach
Question:
Client Hints
- ?
- confused about status and direction
- seems like âcould include ANYTHINGâ in there, e.g. geolocation
- Mark: have shied away from adding everything in there - would have
security-privacy considerations
- Second Q: stuff about lifetimes/revocation. âis this how weâre going
to do permissions?â
- Martin Thompson
- donât like lifetime thing, but consider self to be in the minority.
- got up here to say: changes on slide donât make me happy about security.
- what made him happy: changes to considerations have made him happier.
- opposed to geolocation because donât understand how to control that info.
- Eric
- consideration 3 cuts in 2 directions. If you can store cookies and javascript, can already shove this data in a cookie! If you can do that, why do we need the header?
- only difference is for first hit
- ?
- Preload scanner - well before javascript executes
- taken offline
Not going to WGLC terribly soon
Cookies
No update. Hopefully wind up soonish.
Origin-Signed Exchanges: Jeffrey Yasskin, Chromium
Mark: Not considering adopting now, but that might change.
Proposed Work
HTTPtre: Julian Reschke and Roy Fielding
Notion: revise HTTP/1.1 ONE MORE TIME
We have been working in a temporary repo on Github, resurrected the old RFCs,
and published six drafts with minimal editorial updates to reflect status:
- draft-fielding-httpbis-http-messaging-00
- draft-fielding-httpbis-http-semantics-00
- draft-fielding-httpbis-http-conditional-00
- draft-fielding-httpbis-http-range-00
- draft-fielding-httpbis-http-cache-00
- draft-fielding-httpbis-http-auth-00
The question is if the WG wants to adopt these documents with intent to
revise, possibly consolidate, and publish toward full standard status.
Show of hands: 15 people willing to work on this!
- Brad Shorten
- please, fewer documents
- nightmare right now
Either 2 documents or 3 documents.
HUM: âif you want working group to take on draft-fielding-httpbis-*
and produce fewer documentsâ. Strong hums in support, no hums against.
Plan now is to shift over to BIS repo, rename it, and preserve issues list.
Preserving SNI privacy (yep, again)
- Erik
- question about 0-RTT version for *.github.io
- could get cia.github.io in that case.
Patrick: generally sympathetic with work. ALT-SVC might have some things
to say about sni. Not sure if update required.
- ?
- is your intent that this is widely deployed, or only for specific clients?
- A: think alt-svc and DNS could be a performance win, so expect it to be used
- A: hiding SNI, would be an implementation choice, could cost more
- Q: issue with SNI, can still have your connection replayed
- A: ? cover both cases. If you donât get right cert back, then will have to
make the second round-trip
- ?
- Host header point: SNI check was used to check if cryptographic context, but
still using Host header to direct to correct backend.
- alt-svc will be used first, then will know what other names can be used.
- Martin Thompson
- ACME are looking at using SNI for validating ownership of domains
- this would be a landmine for them.
- whatâs the relationship between expiration times and RRSET
- A: draft says expiration times must match
- Erik
- itâs OK if SNI and Host header donât match already.
Authors: are you asking us to adopt these drafts?
Variants
Adopt?
- Martin Thompson
- relay from Jabber - Tom Peterson
- appears spec denormalises or writes off value of quality indicators
about 10 people have read draft
- Roy Fielding
- wasnât this already asked on list?
- A: Got a bunch of responses. Seen
HUM: in favour of adoption, to be confirmed on the list.
Have parked Key - assumption is that this replaces Key. No objections.
Roy Fielding, as co-author of key: no objection