Я видел, что некоторые вещи, которые я считаю, не на 100% верны ...
Затем браузер выбирает частный номер порта и использует протокол TCP для отправки потока битов текста на сервер.
Здесь вы, кажется, говорите, что браузер выбирает локальный порт и назначает его открытому потоку TCP, что неверно, поскольку ОС отслеживает используемые / неиспользуемые порты и назначает порты потокам. когда устанавливается новое соединение.
Когда какой-либо TCP-пакет поступает на сервер, он проверяется на предмет назначения 80 портов. Если это так, он доставляется на серверный процесс, и теперь протокол TCP завершил свою работу, и пришло время запустить серверную программу.
Здесь я вижу две детали: во-первых, из текста кажется, что один TCP-пакет содержит все HTTP-сообщения, что может не соответствовать действительности (его можно разделить на множество TCP-пакетов по ряду причин, но главным образом потому, что пакеты иметь фиксированную максимальную длину, и сообщение может быть длиннее этой длины). Во-вторых, предполагается, что веб-сервер работает на порту 80, что обычно имеет место, но не всегда так, например, я считаю, что порт по умолчанию для веб-сервера Apache Tomcat - 8080, а в большинстве случаев порт веб-сервера. прослушивание может быть настроено (я не знаю ни одного веб-сервера, который на 100% закреплен за специальным портом).
Наконец, когда вы говорите
Когда адрес вводится в веб-браузере, веб-браузер выберет правильный метод HTTP и создаст полный HTTP-запрос.
Я думаю, что в этом конкретном случае (пользователь набрал адрес и нажал клавишу ввода) браузер всегда будет выбирать метод GET, так как POST используется при отправке информации на сервер.
Сначала HTTP довольно прост, но содержит много деталей, которые усложняют его. Я далеко не эксперт по этому вопросу, но, может быть, это поможет в дальнейшем :) http://www.faqs.org/rfcs/rfc2616.html