Я пытаюсь написать программу для сопоставления HTTP-запросов с соответствующими ответами. Кажется, что все работает хорошо для большинства сценариев (когда передача идеально упорядочена и даже когда это не так, с использованием порядковых номеров TCP).
Единственная проблема, которую я обнаружил, связана с конвейерными запросами. После этого я получаю несколько ответов, но я не знаю, какие пакеты являются ответом на конкретный запрос, а какие нет. Я читал в другом посте, что ответы будут приходить последовательно, и сочетание этого свойства с информацией в поле Content-Length кажется решением. Проблема в том, что Content-length не является обязательным полем, поэтому я не уверен, что всегда могу на это положиться.
Кто-нибудь знает, как на самом деле это делают веб-браузеры, которые поддерживают эту функцию (кстати, не большинство из них)?