Test Environment:

This page sets the UTF-8 charset declaration in both the HTTP and HTML Content-Type.

Goal:

This test checks conformity with RFC3986 section 2.3 by including percent-encoded characters from the unreserved set.

Description:

"For consistency, percent-encoded octets in the ranges of ALPHA (%41-%5A and %61-%7A), DIGIT (%30-%39), hyphen (%2D), period (%2E), underscore (%5F), or tilde (%7E) should not be created by URI producers and, when found in a URI, should be decoded to their corresponding unreserved characters by URI normalizers."

Test Cases:

Test 1: Percent-encoded unreserved characters in the path

http://www.example.com/%EF%BC%A1/?D%FCrst

Test 2: Percent-encoded %FC in the path

http://www.example.com/D%FCrst/

Test 3: Raw byte 0xFC in path, UTF-8ness raw bytes 0xEF 0xBC 0xA1 in the query string value

http://www.example.com/Dürst/?A

Test 4: Raw byte 0xFC with percent-encoded %FC in path

http://www.example.com/Dü%FCrst/