Я анализирую данные HTTP напрямую из пакетов (либо реконструирован TCP, либо нет, можно предположить, что это так).
Я ищу лучший способ синтаксического анализа HTTP с максимально возможной точностью.
Основной проблемой здесь является заголовок HTTP.
Если посмотреть на базовый RFC HTTP / 1.1 , кажется, что синтаксический анализ заголовка HTTP будет сложным.RFC описывает очень сложные регулярные выражения для разных частей заголовка.
Должен ли я написать эти регулярные выражения для анализа различных частей заголовка HTTP?
Базовый синтаксический анализ, который я написал такдалеко для HTTP-заголовка - для общего HTTP-заголовка:
message-header = field-name ":" [ field-value ]
И я включил замену внутреннего LWS
на SP
и повторяющихся заголовков с тем же field-name
значениями, разделенными запятыми, как описано враздел 4.2.
Однако, например, просмотр раздела 14.9 показал бы, что для разбора различных частей field-value
мне нужна гораздо более сложная схема синтаксического анализа.
Как выпредложить мне обработать сложные части синтаксического анализа HTTP (в частности, field-value
), предполагая, что я хочу предоставить пользователям синтаксического анализатора все возможности HTTP и анализировать каждую часть HTTP?
Рекомендации по разработке для этого такжеБудьте благодарны.
Спасибо.