-1

As described in the title, how does HTTP 1.0 implement sending big body like in a POST request without 100 continue? Will the client simply send the whole body? If so, what would be the benefit brought in by 100 continue?

Mathias Maes
  • 139
  • 5

1 Answers1

1

1xx response codes are not used in HTTP/1.0. These codes were introduced with HTTP/1.1.

HTTP 1.0 was widely used before the turn of the century (HTTP/1.1 was standardized in 1999). At that time HTTP could not handle long binary contents like file uploads.

In HTTP/1.1, If you wanted to upload a file, and sent a request containing that file to the server, the browser reads the file and includes it in the request which it sends to the server, potentially spending minutes uploading the binary stream. if for some reason the header values for the request are incorrect or otherwise rejected by the server, you would have to upload the entire file again in a second request.

By sending a request marked with Expect: 100-Continue, the client is asking the server to validate the contents of the request header, before you upload the data, that way the clients doesn't send any of the file contents until it is reasonably sure that the request will succeed. Then after the client has received a response of 100, it begins to upload the file.

So to answer your question, in HTTP 1.0, the file would be uploaded multiple times if the server rejected the POST request and the browser tried it again. Note that when HTTP 1.0 was common, other protocols were used for large uploads, like FTP.

Frank Thomas
  • 35,097
  • 3
  • 77
  • 98