Frage Was sind die obligatorischen Informationen, die ein HTTP Request Header enthalten muss?


Was sind die obligatorischen Informationen, die ein HTTP Request Header enthalten muss?


25
2017-07-23 17:49


Ursprung


verbunden stackoverflow.com/questions/6686261/ ... - Ciro Santilli 新疆改造中心 六四事件 法轮功


Antworten:


GET / HTTP/1.0 ist eine legale HTTP-Anfrage.

Wenn es keine gibt Host Englisch: www.doc-o-matic.com/webhelp/TdlgEditEditor.html Im Kopfzeilenfeld erhalten Sie möglicherweise nicht die gewünschten Ergebnisse, wenn der Zielserver ein virtueller Host Diese hat keine eigene IP-Adresse, um sich von anderen virtuellen Hosts zu unterscheiden.

HTTP 1.1 benötigt die Host Feld.


30
2017-07-24 07:49



Ich habe selbst ein wenig recherchiert und du hast recht @gbroiles. Für das Name Based Virtual Hosting wird im Allgemeinen ein Browser mit HTTP 1.1 benötigt. Der Browser sendet den Hostnamen im Host-Header, und der Web-Server stellt namensbasierte virtuelle Hosts bereit, sofern diese konfiguriert sind. Mit älteren Browsern und HTTP 1.0 ist das etwas möglich, aber Sie brauchen eine Abhilfe wie die ServerPath-Direktive von Apache. Glücklicherweise implementieren neuere Browser Erweiterungen, wenn Sie HTTP 1.0 verwenden, um sicherzustellen, dass das Host-Header-Feld gesendet wird. w3.org/Protocols/rfc2616/rfc2616-sec14.html - Stephan Kristyn
Gibt es noch Browser, die HTTP 1.0 tatsächlich ausführen? - Pacerier
Viele Benutzeragenten verwenden HTTP 1.0. Benutzer, die Webbrowser verwenden, verwenden HTTP 1.1 oder 2.0, wo dies möglich ist, aber sie greifen möglicherweise über einen Proxy zu, der nur HTTP 1.0 unterstützt. Crawler oder Bots können HTTP 1.0 verwenden. Einfache Kunden mögen wget Verwenden Sie HTTP 1.0. Beachten Sie, dass serverseitige Unterstützung für die Unterstützung von HTTP 1.0-Clients nicht erforderlich ist, da ein HTTP 1.1-kompatibler Server HTTP 1.0-Clients unterstützt (HTTP 1.1 ist eine progressive Erweiterung zu HTTP 1.0; nicht kompatible Features wie Chunked) Codierung und Keep-Alive-Standard für HTTP 1.0-Anforderungen deaktiviert). - thomasrutter


In einer Anfrage wird keiner der HTTP-Header benötigt. Es gibt auch keine erforderlichen Antwortheader.

All das und mehr in HTTP 1.1 - RFC 2616


4
2017-07-23 17:52



Du liegst falsch. Gemäß dem RFC, den Sie hier verlinkt haben: "Ein Client MUSS ein Host-Header-Feld in alle HTTP / 1.1-Anforderungsnachrichten einschließen". Also die Host Header ist verpflichtend. - user219882
Korrekt, aber es gibt keine Anforderung, dass ein Client HTTP / 1.1 überhaupt verwendet. - Chris S
Content-Length oder Transfer-Encoding sind nur dann obligatorisch, wenn eine Entität mit der Anfrage oder Antwort geliefert wird, und in vielen Fällen fehlt einer Anfrage oder Antwort eine Entität (wie eine GET-Anfrage oder eine 302-Antwort). - Brandon Rhodes
Ich kann nicht ablehnen, aber diese Antwort ist falsch. Bitte reparieren oder entfernen. - vikingsteve
Ich stimme mit vikingsteve überein. Ihre Antwort bedeutet, dass HTTP 1.1 keine erforderlichen Header hat. - nullstellensatz