-
Notifications
You must be signed in to change notification settings - Fork 43
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
URI length #169
Comments
URI references, then, no? |
Proposal: Add to semantics 2.5.1 http URI Scheme and 2.5.2 https URI Scheme:
|
"recommended" or "RECOMMENDED"? |
I think the latter, but that would not be merely an editorial change (although we already have a very similar requirement). |
Note that the combination of a long host name and the current |
The current text in Messaging is correct (and already uses RECOMMENDED). My guess is that the copy-n-paste above is losing the fancy-pants styling on the all-caps. No need to change that. Making an additional recommendation about supporting minimum URI lengths cuts across too many issues for my comfort. That would be making a requirement on the Web itself, which we have been pretty good about leaving to others. What we do have in Semantics is Section 3.3:
which I still think is better than a specific number. |
I like this approach. However I also know how one feels when looking for suggested limits when implementing a standard and have also heard many complaints about the lack of recommended values. Maybe we'd need to have an appendix section enumerating some limits commonly encountered on existing implementations (possibly without naming them?). In this case we could suggest in such a section that for web usage, in 2019, most agents support at least 8k URIs, 100 header fields etc... |
The thing that's bugging me is that we're limiting a serialisation of the value in HTTP/1.1, but not the abstract value itself. That seems awkward, especially if there are version transitions for a single request chain. |
But it's not really the serialization that we're limiting, it's the size of the char[] that defines its representation somewhere in the code. From this point the implementer has to adapt the serialization code to match this internal limit. That's why I think that suggested limits outside of transport considerations is interesting. It means "the whole chain is able to pass this element, you should take care of being able to pass it as well". For example if a URI requires 8000 bytes, I know I need a larger buffer to receive a request (at least method, space, uri, space, version, 2xCRLF). I also know that my HPACK decompressor needs to be able to store 8000 bytes in the :path pseudo-header, which implies it needs to be able to store decompressed header values at least this large. It even has implications on the encoding I use for my header table implementation. All of this is independent on serialization but has to do with protocol elements, and is difficult to decide on in a consistent way along the whole chain. |
Right, that's what I want. |
Modified proposal: Add to semantics 2.5.1 http URI Scheme and 2.5.2 https URI Scheme:
|
Discussed in Montreal; proposal above, but all uri schemes |
Messaging section 3 says:
The primary intent of that text (added in 7230) AIUI was to encourage implementations to support longer URIs. As such, I was looking for it in semantics, not messaging.
I think the best thing would be to add text somewhere in the semantics section about URIs saying that implementations should support HTTP(S) URIs of at least 8000 characters.
The text was updated successfully, but these errors were encountered: