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

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

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

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

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

или это на сервере?

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

спасибо за помощь

2 ответов


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

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

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


конвейеризация HTTP происходит последовательно. Нет никакой поддержки для любого вида чередования в HTTP.

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

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