HTTP peradresavimo mechanika ir būsenos kodai
HTTP peradresavimas yra standartinis mechanizmas, kuriuo serveris nurodo naršyklei ar kitam klientui kreiptis kitu adresu. Šis procesas vykdomas naudojant specifinius HTTP būsenos kodus ir atsakymo antraštes. Pagrindinis vaidmuo čia tenka Location antraštei, kurioje serveris nurodo naująjį tikslinį URL.
Peradresavimai skirstomi į nuolatinius ir laikinus:
- Nuolatiniai peradresavimai: Naudojami būsenos kodai 301 ir 308. Jie nurodo, kad išteklius visam laikui perkeltas nauju adresu.
- Laikini peradresavimai: Naudojami būsenos kodai 302, 303 ir 307. Jie informuoja klientą, kad išteklius laikinai pasiekiamas kitu adresu, tačiau ateityje reikėtų naudoti pradinį URL.
Kiti atsakymai, kurie neatitinka šių kodų, klasifikuojami kaip kitas atsakymas arba galutinis atsakymas, užbaigiantis peradresavimo grandinę.
Santykinių ir absoliučių URL sprendimas
Peradresavimo antraštėje Location pateikiamas adresas gali būti absoliutus (pavyzdžiui, https://example.com/new-page) arba santykinis (pavyzdžiui, /signin). Santykinių nuorodų interpretavimui būtina žinoti kontekstą:
- Pradžios URL vaidmuo: Jei pirmasis atsakymas pateikia santykinį kelią, norint jį išspręsti, būtina nurodyti pradinį URL. Be jo neįmanoma nustatyti pilno pirmojo šuolio adreso.
- Vėlesni šuoliai: Jei pradinė nuoroda yra žinoma, visi vėlesni santykiniai keliai yra išsprendžiami atsižvelgiant į prieš tai buvusio sėkmingai išspręsto šuolio tikslinį URL.
Šis įrankis leidžia analizuoti tokias grandines lokaliai, nenaudojant gyvų tinklo užklausų. Tai reiškia, kad analizė atliekama remiantis tik vartotojo pateiktais tekstiniais duomenimis.
Dažnos peradresavimo problemos
Analizuojant peradresavimo grandines, dažnai susiduriama su konfigūracijos klaidomis, kurios gali sutrikdyti svetainės veikimą arba sumažinti saugumą. Įrankis identifikuoja šias problemas:
- Kilpa: Tai situacija, kai peradresavimai suformuoja uždarą ratą (pavyzdžiui, puslapis A nukreipia į puslapį B, o šis vėl nukreipia į puslapį A), todėl naršyklė negali pasiekti galutinio tikslo.
- HTTPS grąžinti į ankstesnę versiją: Saugumo spraga, kai saugus HTTPS ryšys peradresuojamas į nesaugų HTTP protokolą.
- Trūksta Location: Atsakyme nurodytas peradresavimo būsenos kodas, tačiau nepateikta privaloma
Locationantraštė. - Neteisingas Location:
Locationantraštėje pateikta reikšmė yra sugadinta arba negali būti išspręsta į galiojantį URL.
Įrankio naudojimas ir įvesties taisyklės
Norint atlikti analizę, įvesties lauke reikia pateikti peradresavimo duomenis. Įrankis priima iki 50 šuolių ir palaiko ne didesnę kaip 100 000 simbolių įvestį.
Galimi įvesties formatai:
- Nuoseklūs HTTP atsakymų antraščių blokai.
- Pradžios URL, po kurio seka eilutės su būsenos kodais ir keliais (pavyzdžiui,
301 /newir200). - Pilnos šaltinio, būsenos ir taikinio eilutės.
Jei įvestis neatitinka reikalavimų, sistema išvalo ankstesnius rezultatus ir pateikia vieną iš klaidų pranešimų:
- Jei laukas tuščias: „Pirmiausia įklijuokite peradresavimo grandinę arba atsakymo antraštes.“
- Jei viršytas simbolių limitas: „Ši įvestis per didelė. Laikykite jį iki
‹max›simbolių.“ - Jei neteisingas pradžios URL: „Įveskite visą HTTP arba HTTPS, pradedant URL.“
- Jei nerasta jokių atsakymų: „Šioje įvestyje nerasta HTTP atsakymų.“
- Jei viršytas šuolių skaičius: „Šis įrankis priima iki
‹hops›apynių vienam pėdsakui.“ - Jei eilutės formatas neteisingas: „
‹line›eilutė nėra atsakymo antraštė arba palaikoma būsenos ir tikslo eilutė.“
Rezultatų interpretavimas
Atlikus analizę, ekrane pateikiama detali kiekvieno šuolio ataskaita. Kiekvienas žingsnis žymimas kaip „Šokinėti ‹index›“ ir pateikia šią informaciją:
| Rezultato laukas | Aprašymas |
|---|---|
| Užklausa URL | URL, kuris inicijavo esamą šuolį. |
| Location | Tiksli Location antraštės reikšmė iš gauto atsakymo. |
| Išspręstas tikslas | Pilnas URL adresas, gautas išsprendus Location reikšmę. |
Kiekvienam šuoliui priskiriama viena iš būsenų: „Nuolatinis“, „Laikinas“, „Galutinis atsakymas“ arba „Kitas atsakymas“. Jei aptinkama problemų, jos išskiriamos įspėjimais: „Kilpa“, „HTTPS grąžinti į ankstesnę versiją“, „Trūksta Location“ arba „Neteisingas Location“. Ataskaitos apačioje pateikiama suvestinė: „Išanalizuotas ‹hops› šuolis (-iai) · ‹issues› problema (-os)“.
Privatumas ir apribojimai
Visi įvesti duomenys apdorojami lokaliai jūsų įrenginyje. Įklijuoti URL ir antraštės lieka naršyklėje. BroBroGo jų neįkelia ir neišsaugo.
Svarbu suprasti, kad ši ataskaita tikrina tik įklijuotą grandinę. Tai negali įrodyti, kad antraštės yra galiojančios, autentiškos arba jų laikosi kiekvienas klientas. Įrankis neaplanko nurodytų adresų realiuoju laiku, netikrina serverių pasiekiamumo ir neanalizuoja specifinio naršyklių elgesio.
DUK
Kokius sekimo formatus galiu įklijuoti?
Įklijuokite nuoseklius HTTP atsakymų antraštės blokus arba naudokite pradžios URL, po kurio seka eilutes, pvz., 301 /new ir 200. Taip pat priimamos visos šaltinio-būsenos-taikinio eilutės.
Kaip išsprendžiamos santykinės Location reikšmės?
Reikšmė, pvz., /signin, yra išspręsta atsižvelgiant į to šuolio URL. Pridėkite pradinį URL, kai pirmame atsakyme naudojamas santykinis Location; vėlesni apyniai naudoja ankstesnį išspręstą tikslą.
Ar šis įrankis aplanko arba patvirtina URLs?
Ne. Ji analizuoja tik įklijuotą tekstą. Ji netikrina, ar svetainė pasiekiama, ar antraštės yra tikros, ar naršyklė seks ta pačia grandine.