v3.1.2: New percent-encoding section (partial fix) #4821
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the starting point for fixing issue #4813. It has taken me over a week of research and multiple write-up attempts to distill this down and figure out how to give guidance that is both readable and sufficiently concrete.
What is not apparent from this PR is that the specs contradict each other- see #4813 for some of the details (although I did not put everything even there). I realized that if we talk about percent-decoding compliance, everything gets much easier. This make the perecent-encoding requirements a bit ambiguous, but that is inherent in the mess of conflicting requirements, and the way that different specs can add reserved behavior or scheme-specific rules.
The rest of the guidance in the spec won't need too much changing, but I'd like to see if this new section works for folks before tweaking all of the appendixes and examples to align with it. A bit of this is duplicated in Appendix E, but I'll take care of that when updating Appendix E once this is approved.
My goal here is to get the essential guidance up in the early part of the spec, and leave the really fiddly details in the appendix.