Przetwarzanie surowego żądania HTTP

Pracuję nad zestawem danych ruchu HTTP, który składa się z kompletnego żądania POST i GET, jak podano poniżej. Napisałem kod w Javie, który oddzielił każde z tych żądań i zapisał je jako element łańcucha na liście tablic.Teraz jestem zdezorientowany, jak parsować te surowe żądania HTTP w Javie czy jest jakaś metoda lepsza niż ręczne parsowanie?

GET http://localhost:8080/tienda1/imagenes/3.gif/ HTTP/1.1
User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.8 (like Gecko)
Pragma: no-cache
Cache-control: no-cache
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: x-gzip, x-deflate, gzip, deflate
Accept-Charset: utf-8, utf-8;q=0.5, *;q=0.5
Accept-Language: en
Host: localhost:8080
Cookie: JSESSIONID=FB018FFB06011CFABD60D8E8AD58CA21
Connection: close

questionAnswers(3)

yourAnswerToTheQuestion