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