Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ab IE7 und höher unterstützt WinINet IPv6-Literale im Hostnamen und die Autoritätskomponente des URI. WinINet unterstützt auch die Verwendung von IPv6-Literalen in relevanten Teilen des HTTP-Protokolls, z. B. im Location-Header.
Hostname IPv6-Literale und URI-Komponenten
WinINet implementiert IPv6-Literale gemäß den Spezifikationen in RFC 3513. Wie in diesem RFC angegeben, müssen IPv6-Literale in einem URI in Klammern eingeschlossen werden. Beispielsweise ist https://[::1]/ ein gültiger IPv6-URI; das Formular ohne eckige Klammern (https://::1/) ist ungültig. Hostname IPv6-Literale, die nicht Teil des URI sind, müssen jedoch nicht in die Klammern eingeschlossen werden; beide Formulare sind für WinINet akzeptabel. Beispielsweise sind sowohl "::1" als auch "[::1]" zulässige Formen von IPv6-Hostnamenliteralen. Andere APIs, z. B. die WinSock-API, akzeptieren auch beide Formulare. Daher sollten Anwendungen darauf vorbereitet sein, beide Formen von IPv6-Hostnamenliteralen zu verarbeiten.
Bereichs-ID
Die IPv6-Literaladresse im URI kann eine Bereichs-ID enthalten. Eine Bereichs-ID kann eine Schnittstellen-ID sein, z. B. [FE80::1%1]. Der in RFC 3986 dokumentierte URI-Standard definiert nicht die Syntax für die Bereichs-ID, und der URI gilt als nicht einheitlich, wenn die Bereichs-ID vorhanden ist. WinINet akzeptiert jedoch eine Bereichs-ID in der Autoritätskomponente des URI und im Hostnamen IPv6-Literal.
Das Prozentzeichen (%) in der IPv6-Literaladresse muss prozentual escaped sein, wenn sie im URI vorhanden ist. Beispielsweise muss die Bereichs-ID FE80::2%3im URI als "https://[FE80::2%253]/" angezeigt werden, wobei %25 das hexadekodierte Prozentzeichen (%) ist. Wenn die Anwendung den URI aus einer Unicode-API abruft, z. B. die Winsock WSAAddressToString-API, muss die Anwendung die Escapeversion des Prozentzeichens (%) im Hostnamen des URI hinzufügen. Um die Escapeversion des URI zu erstellen, rufen Anwendungen InternetCreateUrl- auf, wobei der parameter dwFlags auf ICU_ESCAPE_AUTHORITYfestgelegt ist, und der in der URL-Komponentenstruktur angegebene IPv6-Hostname, der in der lpUrlComponents Parameter angegeben ist.
Für alle Socketvorgänge verwendet WinINet die Bereichs-ID. Da die Bereichs-ID jedoch nur die lokale Host-Bedeutung hat, wird sie nicht als Teil der HTTP-Protokollheader in der Anforderung gesendet. Beispielsweise wird der Aufruf von InternetOpenUrl- mit der folgenden URL im lpszUrl-Parameter aufgerufen.
https://[fec0::2%251]:80/path.htm
Der Bereichs-ID-Teil der URL wird von WinINet entfernt, wenn die HTTP-Anforderung für diese URL gesendet wird. Die Anforderung enthält die folgenden Header:
GET path.htm HTTP/1.1
Host: [fec0::2]
Anmerkung
WinINet unterstützt keine Serverimplementierungen. Darüber hinaus sollte sie nicht von einem Dienst verwendet werden. Verwenden Sie für Serverimplementierungen oder -dienste Microsoft Windows HTTP Services (WinHTTP).