Я пытаюсь построить программу, которая идентифицирует конец заголовка.Теперь я знаю, что заголовки http заканчиваются пустой строкой, как сказано в Обнаружение конца заголовка http get request (java) , однако, насколько я понимаю, это не всегда так.
Например, в multipart у вас есть тип контента с границей, и в этой границе есть пустое пространство, например
Reading line: POST /hello:hello HTTP/1.1
Reading line: bla: bla
Reading line: Content-Type: multipart/form-data; boundary=--------------------------276559868742390689469124
Reading line: cache-control: no-cache
Reading line: Postman-Token: be8db757-81f4-49db-9187-30d66d0dd3d5
Reading line: User-Agent: PostmanRuntime/7.1.5
Reading line: Accept: */*
Reading line: Host: localhost:8080
Reading line: accept-encoding: gzip, deflate
Reading line: content-length: 498
Reading line: Connection: keep-alive
Reading line:
Reading line: ----------------------------276559868742390689469124
Reading line: Content-Disposition: form-data; name=""; filename="TimeComplexity.txt"
Reading line: Content-Type: text/plain
, поэтому очевидно, что поиск пустого пространства не всегда работает.Однако я заметил, что Content-Type, за которым следует пробел, всегда является концом HTTP-заголовка, верно?и если нет, то какие еще есть решения?кроме извлечения длины содержимого и извлечения содержимого перед заголовком, это кажется .. медленным.Могу также упомянуть, что я пытаюсь проанализировать сообщение в java, но я не возражаю против примеров на других языках, если вы вставляете какой-либо код, однако я стараюсь понять это теоретически, я думаю, что могу справиться с остальными.
Заранее спасибо!