Как http 1.0 отправляет большое тело?
Как описано в заголовке, как HTTP 1.0 реализует отправку большого тела, как в запросе POST без 100, продолжается? Будет ли клиент просто отправить все тело? Если да, то какая польза от 100 будет продолжаться?
1 ответ
Коды ответов 1xx не используются в HTTP / 1.0. Эти коды были введены в HTTP / 1.1.
HTTP 1.0 широко использовался до начала века (HTTP/1.1 был стандартизирован в 1999 году). В то время HTTP не мог обрабатывать длинное двоичное содержимое, такое как загрузка файлов.
В HTTP/1.1, если вы хотите загрузить файл и отправить запрос, содержащий этот файл, на сервер, браузер считывает файл и включает его в запрос, который он отправляет на сервер, потенциально тратя минуты на загрузку двоичного потока. если по какой-либо причине значения заголовка запроса неверны или иным образом отклонены сервером, вам потребуется снова загрузить весь файл во втором запросе.
Отправив запрос с пометкой Expect: 100-Continue
клиент просит сервер проверить содержимое заголовка запроса, прежде чем загружать данные, таким образом, клиенты не отправляют содержимое файла, пока не получат разумную уверенность в том, что запрос будет выполнен успешно. Затем, после того как клиент получил ответ 100, он начинает загружать файл.
Поэтому, чтобы ответить на ваш вопрос, в HTTP 1.0 файл будет загружен несколько раз, если сервер отклонит запрос POST, а браузер попробует его снова. Обратите внимание, что когда HTTP 1.0 был распространен, для больших загрузок использовались другие протоколы, например FTP.