What is the reasoning Chrome resolves double dot in URI?
I was just trying to figure this out for myself, and it looks like it's specifically addressed in RFC 3986, § 5.2.4:
The pseudocode also refers to a
remove_dot_segments
routine forinterpreting and removing the special.
and..
complete pathsegments from a referenced path. This is done after the path isextracted from a reference, whether or not the path was relative, inorder to remove any invalid or extraneous dot-segments prior toforming the target URI.[…]
Note that dot-segments are intended for use in URI references toexpress an identifier relative to the hierarchy of names in the baseURI. The
remove_dot_segments
algorithm respects that hierarchy byremoving extra dot-segments rather than treat them as an error orleaving them to be misinterpreted by dereference implementations.