Wie sendet http 1.0 einen großen Körper?

372
Jepsenwan

Wie im Titel beschrieben, wie kann HTTP 1.0 das Senden großer Objekte wie in einer POST-Anforderung ohne 100 implementieren? Wird der Kunde einfach den ganzen Körper schicken? Wenn ja, was wäre der Nutzen, den 100 weiter bringen?

-1
Was hast du recherchiert? Was hast du gelernt? G-Man vor 6 Jahren 0

1 Antwort auf die Frage

1
Frank Thomas

In HTTP / 1.0 werden keine 1xx-Antwortcodes verwendet . Diese Codes wurden mit HTTP / 1.1 eingeführt.

HTTP 1.0 war vor der Jahrhundertwende weit verbreitet (HTTP / 1.1 wurde 1999 standardisiert). Zu diesem Zeitpunkt konnte HTTP keine langen binären Inhalte wie Dateiuploads verarbeiten.

Wenn Sie in HTTP / 1.1 eine Datei hochladen möchten und eine Anforderung, die diese Datei enthält, an den Server gesendet hat, liest der Browser die Datei und fügt sie in die Anforderung ein, die er an den Server sendet, und kann den Upload des binären Streams möglicherweise einige Minuten in Anspruch nehmen. Wenn die Headerwerte für die Anforderung aus irgendeinem Grund falsch sind oder auf andere Weise vom Server zurückgewiesen werden, müssen Sie die gesamte Datei in einer zweiten Anforderung erneut hochladen.

Durch das Senden einer mit gekennzeichneten Anforderung fordert Expect: 100-Continueder Client den Server auf, den Inhalt des Anforderungsheaders zu überprüfen, bevor Sie die Daten hochladen. Auf diese Weise sendet der Client keinen der Dateiinhalte, bis die Anforderung hinreichend sicher ist gelingen. Nachdem der Client eine Antwort von 100 erhalten hat, beginnt er mit dem Hochladen der Datei.

Um Ihre Frage zu beantworten, wird die Datei in HTTP 1.0 mehrmals hochgeladen, wenn der Server die POST-Anforderung ablehnt und der Browser es erneut versucht. Wenn HTTP 1.0 üblich war, wurden andere Protokolle für große Uploads verwendet, z. B. FTP.