Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Począwszy od wersji IE7 lub nowszej, usługa WinINet obsługuje literały IPv6 w nazwie hosta i składnik urzędu identyfikatora URI. Usługa WinINet obsługuje również używanie literałów IPv6 w odpowiednich częściach protokołu HTTP, takich jak w nagłówku Location.
Literały IPv6 nazwy hosta i składniki identyfikatora URI
WinINet implementuje literały IPv6 zgodnie ze specyfikacjami w specyfikacji RFC 3513. Jak określono w tym RFC, literały IPv6 w identyfikatorze URI muszą być ujęte w nawiasy. Na przykład https://[:1]/ jest prawidłowym identyfikatorem URI protokołu IPv6; formularz bez nawiasów (https://::1/) jest nieprawidłowy. Literały IPv6 nazwy hosta, które nie są częścią identyfikatora URI, nie muszą być jednak ujęte w nawiasy kwadratowe; dowolny formularz jest akceptowalny dla sieci WinINet. Na przykład zarówno "::1" jak i "[::1]" są akceptowalnymi formami literałów nazwy hosta IPv6. Inne interfejsy API, takie jak interfejs API Środowiska WinSock, będą również akceptować obie formularze. W związku z tym aplikacje powinny być przygotowane do obsługi obu form literałów nazwy hosta IPv6.
Identyfikator zakresu
Adres literału IPv6 w identyfikatorze URI może zawierać identyfikator zakresu. Identyfikator zakresu może być identyfikatorem interfejsu, takim jak [FE80::1%1]. Standard identyfikatora URI, udokumentowany w dokumencie RFC 3986, nie definiuje składni identyfikatora zakresu, a identyfikator URI jest uznawany za nieumundurowany, gdy identyfikator zakresu jest obecny. Jednak winINet akceptuje identyfikator zakresu w składniku urzędu identyfikatora URI i w literału IPv6 nazwy hosta.
Znak procentu (%) w adresie literału IPv6 musi być procentem ucieczki w przypadku obecności w identyfikatorze URI. Na przykład identyfikator zakresu FE80::2%3musi pojawić się w identyfikatorze URI jako "https://[FE80::2%253]/", gdzie %25 jest zakodowanym znakiem procentu szesnastkowym (%). Jeśli aplikacja pobiera identyfikator URI z interfejsu API Unicode, takiego jak winsock WSAAddressToString API, aplikacja musi dodać unikniętą wersję znaku procentu (%) w nazwie hosta identyfikatora URI. Aby utworzyć wersję unikniętą identyfikatora URI, aplikacje wywołają InternetCreateUrl z parametrem dwFlags ustawionym na ICU_ESCAPE_AUTHORITY, a nazwa hosta IPv6 określona w strukturze składników adresu URL określonej w parametrze lpUrlComponents.
W przypadku wszystkich operacji gniazd winINet używa identyfikatora zakresu. Jednak ponieważ identyfikator zakresu ma tylko znaczenie hosta lokalnego, nie jest wysyłany jako część nagłówków protokołu HTTP w żądaniu. Na przykład wywołanie InternetOpenUrl jest wywoływane przy użyciu następującego adresu URL w parametrze lpszUrl.
https://[fec0::2%251]:80/path.htm
Część adresu URL identyfikatora zakresu jest usuwana przez usługę WinINet, gdy żądanie HTTP jest wysyłane dla tego adresu URL. Żądanie zawiera następujące nagłówki:
GET path.htm HTTP/1.1
Host: [fec0::2]
Nuta
Usługa WinINet nie obsługuje implementacji serwera. Ponadto nie należy jej używać z usługi. W przypadku implementacji serwera lub usług należy użyć usług HTTP systemu Microsoft Windows (WinHTTP).