связь браузера и веб-сервера - PullRequest
0 голосов
/ 12 апреля 2011

как веб-сервер определяет, что запрос от конкретного клиента?я знаю, что связь происходит по протоколу http, но что сообщает серверу, что для определенного запроса ответ должен быть отправлен этому клиенту?

(я не уверен, слишком ли это простовопрос, но я просто хочу узнать что-то здесь и может принести пользу и другим, таким как я)

Ответы [ 2 ]

0 голосов
/ 12 апреля 2011

HTTP-сервер запускает новый процесс (в большинстве случаев он фактически запускает новый поток, но для простоты мы можем предположить, что это процесс) для каждого подключаемого клиента, поэтому из кода программа видит только этого клиента, это для начала. HTTP не имеет состояния, что означает, что после завершения ответа на запрос программа http-сервера завершается - она ​​выглядит как функция с запросом в качестве параметра и веб-страницей в качестве возвращаемого значения. Само соединение идентифицируется по IP-адресу источника, IP-адресу назначения, исходному порту и порту назначения (все они).

0 голосов
/ 12 апреля 2011

Ваш вопрос почти точная копия этого вопроса , на который есть несколько хороших ответов.


Ответ идетвернитесь через то же соединение TCP / IP, что и запрос.

Клиент инициировал это соединение с IP-адресом и портом сервера.Серверу не нужно знать IP-адрес и порт клиента, потому что соединение уже открыто и готово к использованию.

Большинство [требуется цитата] клиенты даже не имеют общедоступный IP-адрес.

...