RFC Errata
RFC 6874, "Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers", February 2013
Source of RFC: 6man (int)
Errata ID: 3630
Status: Rejected
Type: Technical
Publication Format(s) : TEXT
Reported By: Michael Sweet
Date Reported: 2013-05-22
Rejected by: Brian Haberman
Date Rejected: 2013-05-23
Section 3 says:
Such bare "%" signs are for user interface convenience, and need to be turned into properly encoded characters (where "%25" encodes "%") before the URI is used in any protocol or HTML document. However, URIs including a ZoneID have no meaning outside the originating node. It would therefore be highly desirable for a browser to remove the ZoneID from a URI before including that URI in an HTTP request.
It should say:
Such bare "%" signs are for user interface convenience, and need to be turned into properly encoded characters (where "%25" encodes "%") before the URI is used in any protocol or HTML document. HTTP Clients MUST include a ZoneID in any URIs provided in an HTTP request since HTTP Servers will need it when generating URIs, otherwise the IPv6 address will not be routable.
Notes:
The original advice ignores a very real issue: HTTP Servers that generate URIs from the client's Host: need to include the Client's zoneid in order for the link local address to be usable/routable.
--VERIFIER NOTES--
The zoneid is internal to the HTTP client. It would never be shared with a server, so there is no way for a server to know a client's zoneid.