패킷에서 직접 HTTP 데이터를 구문 분석하고 있습니다 (TCP 재구성 여부는 가정합니다).HTTP 헤더 필드 값의 모든 부분을 구문 분석
가능한 한 정확하게 HTTP를 구문 분석하는 가장 좋은 방법을 찾고 있습니다.
주요 문제는 HTTP 헤더입니다.
기본 RFC of HTTP/1.1을 보면 HTTP 헤더 구문 분석이 복잡해 보입니다. RFC는 헤더의 다른 부분에 대해 매우 복잡한 정규 표현식을 설명합니다.
이러한 정규 표현식을 작성하여 HTTP 헤더의 다른 부분을 구문 분석해야합니까?
내가 HTTP 헤더에 대한 지금까지 작성한 기본 구문 분석은 일반 HTTP 헤더를위한 것입니다
message-header = field-name ":" [ field-value ]
그리고 쉼표로 구분와 같은 field-name
와 헤더를 SP
와 내부 LWS
을 교체하고 반복 포함 시켰습니다 값은 섹션 4.2에서 설명합니다.
그러나 예를 들어 섹션 14.9를 보면 field-value
의 여러 부분을 구문 분석하기 위해 훨씬 복잡한 구문 분석 체계가 필요하다는 것을 알 수 있습니다.
파서 사용자에게 HTTP의 모든 기능을 제공하고 HTTP의 모든 부분을 구문 분석하기 위해 HTTP 구문 분석 (특히 field-value
)의 복잡한 부분을 처리해야한다고 제안하는 방법은 무엇입니까?
디자인 제안은 또한 감사하겠습니다.
감사합니다.