What is the reasoning Chrome resolves double dot in URI? What is the reasoning Chrome resolves double dot in URI? google-chrome google-chrome

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.