Пока я гуглял по совершенно другому вопросу, я видел этот и думаю, что могу дать более полный ответ:
HTTP требует, чтобы ответы приходили в том порядке, в котором они были запрошены. Поэтому, если вы смотрите на одно TCP-соединение в определенный момент времени, вы должны увидеть:
Запрос; Отклик ; Запрос ; Ответ ...
Также в HTTP / 1.1 есть поддержка «Конвейера», где клиенту не нужно ждать получения ответов, чтобы выполнить следующий запрос. Что можно наблюдать в таких случаях:
Запрос; Отклик ; Запрос ; Запрос ; Отклик ; Отклик ; Запрос ; Ответ
В самом ответе HTTP нет ссылки на конкретный запрос, который его вызвал.
Предложение Filipo является классическим при отладке / наблюдении за одним TCP-соединением, но при просмотре нескольких TCP-соединений вы не можете щелкнуть по следующему потоку TCP, поскольку вам придется делать это для каждого соединения.
Если у вас много TCP-соединений и много запросов / ответов, вам придется посмотреть на порт источника TCP в пакете запроса и порт TCP dest в пакете ответа, чтобы узнать, какой ответ связан с каждым tcp-соединением, и затем примените правила запроса / ответа HTTP.
Кроме того, Wireshark МОЖЕТ распаковать тело ответа, и оно сделает это автоматически, если все тело ответа получено, но это НЕ будет выполнено в Следующем потоке TCP.
Я всегда использую Wireshark для отладки HTTP.