несколько запросов HTTP GET в одном соединении TCP / IP - обрабатываются параллельно или последовательно - PullRequest
10 голосов
/ 06 октября 2010

мы получаем много запросов googlebot.

googlebot запрашивает до 11 различных файлов через 11 HTTP GET-запрос , все в одном TCP / IP соединении,

эти запросы GET (все в одном соединении TCP / IP) обрабатываются через сервер в

  • параллельно
  • или в последовательности?

Или это сервер?

  • в этом случае, как nginx справляется с этим?

спасибо за вашу помощь

Ответы [ 2 ]

12 голосов
/ 06 октября 2010

эти запросы GET (все в том же соединении TCP / IP) обрабатываются через сервер в

параллельно или последовательно?

Он обрабатывается последовательно,Это называется конвейерная обработка.Конвейерная передача является частью HTTP / 1.1, и это означает, что клиенту не нужно ждать завершения текущего запроса перед отправкой следующего запроса через постоянное соединение.Он может отправлять несколько запросов по одному и тому же соединению, не ожидая ответов на предыдущие запросы.Запросы обрабатываются в режиме FIFO, т.е. клиент может отправлять несколько запросов последовательно, и сервер должен отправлять ответ на каждый запрос в том же порядке, в котором был получен запрос.Поэтому, если сервер, который вы используете в соответствии с HTTP / 1.1, должен обрабатываться последовательно.

4 голосов
/ 06 октября 2010

HTTP конвейерная обработка происходит последовательно.В HTTP нет поддержки какого-либо чередования.

Однако при конвейерной обработке сервер может знать обо всех запросах, прежде чем он завершит обслуживание последнего.Теоретически он может выполнять необходимый ввод / вывод параллельно.

Не похоже, что nginx сделает это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...