HTTP, TCP, UDP и без установления соединения
Я немного запутался с HTTP в последнее время.
Некоторые факты таковы, что TCP может работать с установлением соединения или без соединения, это я понимаю. TCP, хотя и ориентирован на соединение, а UDP - без соединения, который используется, когда само сообщение может уместиться в одно сообщение.
Вопрос:
Если HTTP использует TCP, а TCP обеспечивает надежные соединения для обмена несколькими сообщениями, а HTTP называется без соединения, то как это возможно?
TCP ориентирован на соединение? Так как же HTTP без установления соединения????
1 ответ
HTTP (1.0 без сохранения соединения) не требует соединения, потому что после обслуживания одного HTTP-запроса соединение закрывается и не используется повторно. HTTP-запросы не являются блоками данных протокола TCP, поэтому TCP ориентирован на соединение по отношению к блокам данных протокола TCP, не мешает HTTP оставаться без соединения по отношению к блокам данных протокола HTTP.
Когда мы смотрим на сам протокол HTTP, нам все равно, на какой протокол он накладывается. Это может быть TCP, но теоретически это может быть что-то еще. Таким образом, свойства TCP совершенно не имеют значения.