По сути, это правда.
Однако сервер может решить, что делать, если это GET или POST или любой другой запрос (ему не нужно, например, добавлять его в файл).
Я покажу вам дополнительную информацию / попытаюсь объяснить ее своими словами:
TCP - это еще один протокол протокола связи. Он позволяет клиенту открывать соединение с сервером, и он может впоследствии общаться.
HTTP (протокол передачи гипертекста) создается на TCP.
Сначала клиент открывает соединение с сервер.
После этого клиент отправляет HTTP-запрос. Первая строка содержит тип запроса, путь и версию. Например, это может быть GET / HTTP/1.1
.
Следующая часть запроса содержит параметры запроса. Каждый параметр - это строка. Параметры отправляются следующим образом: paramName: paramValue
Эта часть запроса заканчивается пустой строкой.
Если это запрос POST, параметры запроса добавляются следующими. Если это запрос GET, эти параметры запроса добавляются путем (например, /index.html?paramName=paramValue
)
. После получения запроса сервер отправляет ответ HTTP обратно клиенту.
Первая строка ответа содержит версию HTTP, код состояния и сообщение о состоянии. Например, это может быть HTTP/1.1 200 OK
.
Тогда, как и в запросе, параметры ответа следующие. Например, Content-Length: 1024
.
Параметры ответа также заканчиваются пустой строкой.
Последняя часть ответа - это тело / содержимое. Например, это может быть код HTML сайта, который вы посещаете.
Очевидно, что длина содержимого / тела ответа должна соответствовать параметру Content-Length
(в байтах).
После этого соединение будет закрыто (нормально). Если клиент, например, запросит ресурсы, он отправит другой запрос. У сервера НЕТ ВОЗМОЖНОСТИ отправлять данные клиенту после этого, если только клиент не отправит другой запрос (веб-сокеты могут обойти эту проблему).
GET предназначен для получения содержимого сайта. Веб-браузер отправит GET запросить, если вы вводите URL. POST может использоваться для обновления сайта, но на самом деле сервер может решить это. POST также может использоваться, если сервер не хочет, чтобы параметры запроса отображались в адресной строке.
Существуют другие методы, такие как PATCH или DELETE, которые используются некоторыми API.
Некоторые важные коды состояния (и сообщения о состоянии):
200 OK
(все прошло хорошо) 204 No content
(вроде нормально, но в ответе нет тела) 400 Bad Request
(что-то не так с запросом) 404 Not found
(запрошенный файл (путь) не найден на сервере) 500 Internal server error
(An при обработке запроса произошла ошибка)
Каждый код состояния, начинающийся с 1
, связан с сообщением клиенту чего-либо.
Если он начинается с 2
, все прошло вправо.
Код состояния, начинающийся с 3
, перенаправляет клиента на другой сайт.
Если он начинается с 4
, на стороне клиента возникла ошибка.
Коды, начинающиеся с 5
, представляют собой ошибку, которая произошла на стороне сервера.