Vad är en rå HTTP-förfrågan?

En rå HTTP-förfrågan är klartextrepresentationen av ett HTTP-meddelande så som det skulle överföras över nätverket. Den består av en förfrågningsrad (metod, URL och HTTP-version), följt av rubrikfält (nyckel-värde-par), en tom rad och en valfri meddelandekropp. Till exempel ser en enkel GET-förfrågan ut som GET /index.html HTTP/1.1 följt av rubriker som Host: example.com.

Att förstå rå HTTP-förfrågningar är grundläggande för webbutveckling, API-felsökning och nätverksfelsökning. Verktyg som cURL, Wireshark och webbläsarens utvecklarverktyg visar ofta förfrågningar i råformat. Att kunna läsa och validera dessa råa meddelanden hjälper utvecklare att diagnostisera problem som felaktiga rubriker, felaktiga innehållslängder, saknade host-rubriker eller versionsavvikelser i protokollet.

Verktygsbeskrivning

Validatorn för rå HTTP-förfrågan tolkar och validerar råa HTTP-förfrågningsmeddelanden. Klistra in en fullständig rå HTTP-förfrågan — inklusive förfrågningsraden, rubriker och valfri meddelandekropp — så kontrollerar verktyget om den överensstämmer med giltig HTTP-syntax. Om förfrågan är giltig extraheras och visas viktiga detaljer, inklusive HTTP-metod, URL, HTTP-version, host, antal rubriker och meddelandekroppens storlek i byte. Om förfrågan är felaktig rapporteras det specifika tolkningsfelet.

Funktioner

  • Fullständig förfrågningstolkning: Validerar hela HTTP-meddelandestrukturen inklusive förfrågningsrad, rubriker och meddelandekropp
  • Detaljerad fältextrahering: Visar den tolkade metoden, URL, HTTP-version, host-rubrik, antal rubriker och meddelandekroppens antal byte
  • Felrapportering: Tillhandahåller specifika felmeddelanden när förfrågan är ofullständig eller felaktig
  • Förifylld platshållare: Innehåller en exempel-POST-förfrågan så att du omedelbart kan se det förväntade formatet
  • Standardbaserad tolkning: Använder biblioteket http-parser-js, som implementerar samma tolkningslogik som används av Node.js

Hur det fungerar

Verktyget använder http-parser-js, en JavaScript-implementering av HTTP-tolkaren som ursprungligen skrevs i C för Node.js. När du klistrar in en rå förfrågan bearbetar tolkaren den byte för byte — identifierar förfrågningsraden, extraherar varje rubrikpar, ackumulerar meddelandekroppen och kontrollerar att meddelandet är fullständigt. Om tolkaren stöter på ett syntaxfel eller om meddelandet är ofullständigt (saknar den avslutande tomma raden eller deklarerat meddelandekroppsinnehåll) rapporteras felet. Vid lyckat resultat visas de tolkade komponenterna i strukturerade utdatafält.

Begränsningar

  • Endast HTTP/1.x: Tolkaren hanterar HTTP/1.0- och HTTP/1.1-förfrågningar. Binära ramar för HTTP/2 stöds inte
  • Endast förfrågningar: Det här verktyget validerar HTTP-förfrågningar, inte HTTP-svar
  • Ingen semantisk validering: Tolkaren kontrollerar strukturell korrekthet men validerar inte om specifika rubrikvärden är logiskt giltiga (t.ex. om en Content-Type matchar det faktiska meddelandekroppsformatet)

Användningsområden

  • API-felsökning: Validera råa förfrågningar hämtade från loggar, proxies eller dokumentation innan de skickas till en server
  • Lär dig HTTP: Studera strukturen hos HTTP-meddelanden genom att experimentera med olika metoder, rubriker och meddelandekroppsformat
  • Säkerhetsanalys: Granska och validera misstänkta eller ovanliga HTTP-förfrågningar som påträffas vid penetrationstestning eller loggranskning