несколько 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 сделает это.