Hva er en rå HTTP-forespørsel?

En rå HTTP-forespørsel er klartekstrepresentasjonen av en HTTP-melding slik den ville bli overført over nettverket. Den består av en forespørselslinje (metode, URL og HTTP-versjon), etterfulgt av header-felt (nøkkel-verdi-par), en tom linje og en valgfri body. For eksempel ser en enkel GET-forespørsel slik ut: GET /index.html HTTP/1.1 etterfulgt av headers som Host: example.com.

Å forstå rå HTTP-forespørsler er grunnleggende for webutvikling, API-feilsøking og nettverksfeilsøking. Verktøy som cURL, Wireshark og nettleserens utviklerverktøy viser ofte forespørsler i rått format. Å kunne lese og validere disse rå meldingene hjelper utviklere med å diagnostisere problemer som feilformede headers, feil innholdslengder, manglende host-headers eller uoverensstemmelser i protokollversjoner.

Verktøybeskrivelse

Raw HTTP Request Validator analyserer og validerer rå HTTP-forespørselsmeldinger. Lim inn en komplett rå HTTP-forespørsel — inkludert forespørselslinjen, headers og valgfri body — så vil verktøyet kontrollere om den er i samsvar med gyldig HTTP-syntaks. Hvis forespørselen er gyldig, trekker den ut og viser viktige detaljer, inkludert HTTP-metode, URL, HTTP-versjon, host, antall headers og body-størrelse i bytes. Hvis forespørselen er feilformet, rapporteres den spesifikke analysefeilen.

Funksjoner

  • Fullstendig forespørselsanalyse: Validerer hele HTTP-meldingsstrukturen, inkludert forespørselslinje, headers og body
  • Detaljert feltutvinning: Viser den analyserte metoden, URL, HTTP-versjon, host-header, antall headers og antall bytes i body
  • Feilrapportering: Gir spesifikke feilmeldinger når forespørselen er ufullstendig eller feilformet
  • Forhåndsutfylt plassholder: Inkluderer en eksempel-POST-forespørsel slik at du umiddelbart kan se det forventede formatet
  • Standardbasert analyse: Bruker biblioteket http-parser-js, som implementerer den samme analyselogikken som brukes av Node.js

Slik fungerer det

Verktøyet bruker http-parser-js, en JavaScript-implementasjon av HTTP-parseren som opprinnelig ble skrevet i C for Node.js. Når du limer inn en rå forespørsel, behandler parseren den byte for byte — identifiserer forespørselslinjen, trekker ut hvert header-par, akkumulerer body og kontrollerer at meldingen er fullstendig. Hvis parseren støter på en syntaksfeil eller meldingen er ufullstendig (mangler den avsluttende tomme linjen eller deklarert body-innhold), rapporteres feilen. Ved suksess vises de analyserte komponentene i strukturerte utdatafelt.

Begrensninger

  • Kun HTTP/1.x: Parseren håndterer HTTP/1.0- og HTTP/1.1-forespørsler. Binære HTTP/2-rammer støttes ikke
  • Kun forespørsler: Dette verktøyet validerer HTTP-forespørsler, ikke HTTP-svar
  • Ingen semantisk validering: Parseren kontrollerer strukturell korrekthet, men validerer ikke om spesifikke header-verdier er logisk gyldige (f.eks. om en Content-Type samsvarer med det faktiske body-formatet)

Bruksområder

  • API-feilsøking: Valider rå forespørsler hentet fra logger, proxyer eller dokumentasjon før de sendes til en server
  • Lære HTTP: Studer strukturen til HTTP-meldinger ved å eksperimentere med ulike metoder, headers og body-formater
  • Sikkerhetsanalyse: Inspiser og valider mistenkelige eller uvanlige HTTP-forespørsler som oppdages under penetrasjonstesting eller gjennomgang av logger