Mechanika HTTP přesměrování a stavové kódy
Při komunikaci mezi webovým prohlížečem a serverem hrají klíčovou roli stavové kódy HTTP, které určují, jak má klient naložit s požadovaným obsahem. Pokud server vyžaduje přesměrování klienta na jinou adresu, odešle odpověď obsahující specifický stavový kód řady 3xx a záhlaví Location.
Tento nástroj rozlišuje dva hlavní typy přesměrování:
- Trvalé přesměrování: Indikuje, že požadovaný prostředek byl trvale přesunut na novou adresu. Vyhledávače a klienti by měli aktualizovat své záznamy. Mezi trvalé přesměrování se řadí stavové kódy 301 a 308. V rozhraní nástroje jsou tyto kroky označeny jako Trvalé.
- Dočasné přesměrování: Označuje, že prostředek je dočasně dostupný na jiné adrese, ale budoucí požadavky by měly nadále používat původní URL. Mezi dočasné přesměrování patří stavové kódy 302, 303 a 307. V rozhraní jsou tyto kroky označeny jako Dočasné.
Pokud odpověď neodpovídá ani jednomu z těchto typů a nejedná se o poslední krok, je označena jako Jiná odpověď. Poslední krok v celém řetězci je označen jako Konečná odpověď.
Role záhlaví Location a řešení adres
Záhlaví Location definuje cílovou adresu, na kterou má být klient přesměrován. Hodnota tohoto záhlaví může mít dvě podoby:
- Absolutní URL: Obsahuje kompletní adresu včetně protokolu a domény (např.
https://example.com/page). - Relativní URL: Obsahuje pouze cestu (např.
/signin). V takovém případě musí klient vyřešit cílovou adresu na základě kontextu.
Relativní hodnoty Location se vždy řeší vůči URL konkrétního skoku, ve kterém se objevily. Pokud první odpověď v řetězci používá relativní cestu, je pro správnou analýzu nezbytné vyplnit pole Počínaje URL (volitelné). Bez tohoto výchozího bodu nelze první relativní odkaz převést na úplnou adresu. U každého dalšího skoku se pak jako základ pro vyřešení relativní cesty používá předchozí Cíl vyřešen.
Detekce chyb a bezpečnostních rizik v řetězci
Při analýze přesměrování může nástroj odhalit několik kritických problémů, které mohou narušit funkčnost webu nebo ohrozit bezpečnost uživatelů. Tyto stavy jsou v rozhraní explicitně signalizovány:
- Smyčka: Indikuje detekci nekonečné smyčky přesměrování, kdy se adresy odkazují navzájem dokola a klient by nikdy nedosáhl cíle.
- HTTPS downgrade: Varování, které se zobrazí, pokud dojde k přesměrování ze zabezpečeného protokolu HTTPS na nezabezpečený protokol HTTP. To představuje bezpečnostní riziko, neboť přenášená data mohou být vystavena odposlechu.
- Chybí Location: Signalizuje, že server odeslal stavový kód přesměrování, ale v odpovědi zcela chybí záhlaví
Location. - Neplatné Location: Označuje, že hodnota v záhlaví
Locationje poškozená nebo ji nelze interpretovat jako platnou adresu.
Lokální zpracování dat a ochrana soukromí
Analýza vložených dat probíhá výhradně lokálně. Vaše vložené URLs a záhlaví zůstanou ve vašem prohlížeči. BroBroGo je nenahrává ani neukládá. Zpracování probíhá přímo na vašem zařízení, což znamená, že data nejsou odesílána na žádné externí servery.
Nástroj funguje čistě jako statický analyzátor textu. To znamená, že sám aktivně nenavštěvuje ani neověřuje zadané adresy URL, netestuje jejich dostupnost, neověřuje autenticitu záhlaví ani nesimuluje chování reálného prohlížeče v síti. Tato sestava kontroluje pouze vložený řetězec. Nemůže prokázat, že záhlaví jsou aktuální, autentická nebo že je sleduje každý klient.
Limity vstupu a chybová hlášení
Pro zajištění stability a rychlosti analýzy platí pro vstupní data následující limity:
- Maximální délka vloženého textu je 100 000 znaků.
- Maximální počet analyzovaných skoků (hops) je 50.
Pokud vložíte neplatný vstup, veškeré dříve zobrazené výsledky se vymažou a zobrazí se jedno z následujících chybových hlášení:
- Nejprve vložte řetězec přesměrování nebo záhlaví odpovědí. (pokud je vstup prázdný).
- Tento vstup je příliš velký. Uchovávejte jej do
‹max›znaků. (při překročení limitu znaků). - Zadejte úplný HTTP nebo HTTPS počínaje URL. (pokud je zadána neplatná výchozí adresa).
- V tomto vstupu nebyly nalezeny žádné odpovědi HTTP. (pokud text neobsahuje rozpoznatelné formáty).
- Tento nástroj přijímá až
‹hops›skoků na stopu. (při překročení limitu 50 skoků). - Řádek
‹line›není záhlaví odpovědi ani podporovaný řádek stavu a cíle. (při detekci neznámého formátu na konkrétním řádku).
Struktura výstupu analýzy
Po úspěšném zpracování vstupu se zobrazí podrobný přehled, kde je každý krok označen jako Hop ‹index› (např. Hop 1, Hop 2). U každého skoku nástroj přehledně vypisuje tyto parametry:
| Položka | Popis |
|---|---|
| Žádost URL | Adresa URL, která iniciovala aktuální skok. |
| Location | Přesná hodnota záhlaví Location získaná z odpovědi. |
| Cíl vyřešen | Úplná vyřešená adresa, na kterou toto záhlaví ukazuje. |
V dolní části se zobrazí celková statistika ve formátu ‹hops› analyzované skoky · ‹issues› problémy.
Často kladené otázky
Jaké formáty trasování mohu vložit?
Vložte po sobě jdoucí bloky záhlaví odpovědi HTTP nebo použijte počáteční URL následované řádky, jako je 301 /new a 200. Akceptovány jsou také úplné řádky zdroj-stav-cíl.
Jak se řeší relativní hodnoty Location?
Hodnota, jako je /signin, je vyřešena proti URL pro daný skok. Přidejte počáteční URL, když první odpověď používá relativní Location; pozdější přeskoky používají předchozí vyřešený cíl.
Navštěvuje tento nástroj nebo ověřuje URLs?
Ne. Analyzuje pouze text, který vložíte. Netestuje, zda je web dosažitelný, zda jsou záhlaví originální nebo zda prohlížeč bude sledovat stejný řetězec.