Podpora PROTOKOLU IP verze 6
Počínaje IE7 a novějším podporuje WinINet literály IPv6 v názvu hostitele a komponentu autority identifikátoru URI. WinINet také podporuje použití literálů IPv6 v relevantních částech protokolu HTTP, například v hlavičce Location.
Literály názvu hostitele IPv6 a komponenty identifikátoru URI
WinINet implementuje literály IPv6 podle specifikací v RFC 3513. Jak je uvedeno v tomto dokumentu RFC, literály IPv6 v identifikátoru URI musí být uzavřeny v hranatých závorkách. Například https://[::1]/ je platný identifikátor URI protokolu IPv6; formulář bez závorek (https://::1/) není platný. Literály názvu hostitele IPv6, které nejsou součástí identifikátoru URI, ale není nutné je uzavřít do hranatých závorek; Pro WinINet je přijatelný některý z těchto formulářů. Například "::1" a "[::1]" jsou přijatelné formy literálů názvu hostitele IPv6. Ostatní rozhraní API, jako je rozhraní API WinSock, budou také přijímat obě formuláře. Aplikace by proto měly být připravené na zpracování obou forem literálů názvu hostitele IPv6.
ID oboru
Adresa literálu IPv6 v identifikátoru URI může obsahovat ID oboru. ID oboru může být ID rozhraní, například [FE80::1%1]. Standard identifikátoru URI zdokumentovaný v dokumentu RFC 3986 nedefinuje syntaxi pro ID oboru a identifikátor URI se při přítomnosti ID oboru považuje za nejednotný. WinINet však přijímá ID oboru v komponentě autority identifikátoru URI a v literálu názvu hostitele IPv6.
Znak procenta (%) v literálové adrese IPv6 musí být v identifikátoru URI uchvácený v procentech. Například id oboru FE80::2%3musí být v identifikátoru URI uvedeno jako "https://[FE80::2%253]/", kde %25 je šestnáctkový znak procenta (%). Pokud aplikace načte identifikátor URI z rozhraní API Unicode, jako je například rozhraní WINSock WSAAddressToString API, musí aplikace do názvu hostitele identifikátoru URI přidat řídicí verzi znaku procenta (%). Chcete-li vytvořit řídicí verzi identifikátoru URI, aplikace volají InternetCreateUrl s parametrem dwFlag s nastaveným na ICU_ESCAPE_AUTHORITYa název hostitele IPv6 zadaný ve struktuře komponent adresy URL zadaný v parametru lpUrlComponents.
Pro všechny operace soketů používá WinINet ID oboru. Vzhledem k tomu, že ID oboru má pouze významnost místního hostitele, není odeslána jako součást hlaviček protokolu HTTP v požadavku. Volání InternetOpenUrl se například volá s následující adresou URL v parametru lpszUrl.
https://[fec0::2%251]:80/path.htm
Část ID oboru adresy URL se odebere službou WinINet při odeslání požadavku HTTP pro tuto adresu URL. Požadavek obsahuje následující hlavičky:
GET path.htm HTTP/1.1
Host: [fec0::2]
Poznámka
WinINet nepodporuje implementace serveru. Kromě toho by se nemělo používat ze služby. Pro implementace serverů nebo služby použijte microsoft Windows HTTP Services (WinHTTP).