Это, наверное, глупый вопрос ...

Когда я отправляю онлайн-форму веб-серверу, как сервер узнает, что я тот, кому нужно вернуть результат?

Я считаю, что это связано с постоянным http-соединением, но я не знаю, почему я считаю, что это правильно.

Thankd

1 ответ1

1

Короткий ответ, он исходит от TCP-соединения, передающего данные HTTP. Современные веб-сайты и браузеры работают вместе, используя технологии как выше, так и ниже HTTP, чтобы улучшить взаимодействие с пользователем.

HTTP сам по себе является протоколом прикладного уровня со стандартными глаголами, такими как GET, POST, HEAD и т.д. Важно понимать, что каждый из этих глаголов является «без состояния», поскольку каждый глагол запрашивается с сервера в полной изоляции от любых других. Запросы. Также важно понимать, что каждый глагол реализует спаривание запрос-ответ, так что запрос и его ответ неразрывно связаны. Таким образом, обработчики протокола веб-сервера всегда будут отслеживать информацию о запросе, чтобы он мог отправить ответ.

TCP-соединение представляет собой приложение в виде пары потоков ввода-вывода на сервер и с сервера. Как только TCP-соединение установлено, приложения просто читают из своего входного потока и записывают в свой выходной поток, поэтому нет (действительного) способа, которым приложение могло бы отправить ответ кому-либо еще, потому что выходной поток является частью вашего соединения. Загляните в библиотеку Berkeley Sockets, если вас интересуют примеры того, как все это объединяется.

Надеюсь, это поможет. То, как все это складывается, сложно и требует времени. Просто помните, что HTTP сам по себе является удивительно простым протоколом, который имеет очень ограниченный набор операций, и хотя мы вводим дополнительные возможности как под, так и над самим HTTP, они сами по себе не являются частью HTTP.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .