Autor Zpráva
Yuhů
Profil
Když nějakým způsobem (třeba přes mod_alias nebo přes PHP) na požadavek A vrátím přesměrovávací odpověď 301 a Location míří na stránku B, zajímalo by mě, jak to pak přesně probíhá.

Dozví se klient, že je stránka A přesměrovávaná? Sáhne si pak na stránku B sám?

Nebo server iniciativně na požadavek A vrátí stránku B? (pozor, nemyslím podstrčení přes mod_rewrite, tam to samozřejmě tak funguje)

Proč to chci vědět -- kdyby se požadavek skutečně vracel na klienta, pak by některé přesměrovávací konstrukce mohly pěkně zdržovat.
Leo
Profil
A co ti brani nainstalovat si treba do Firefoxu rozsireni Live HTTP Headers a podivat se, jak komunikace probiha doopravdy? Pokud je to pres PHP pak si klient vyzada znovu stranku na adrese uvedene v HTTP hlavicce Location.

Leo
Leo
Profil
Server nemuze na pozadavek na adresu URL1 poslat kod 200 OK a zmenit URL2 v adresnim radku prohlizece, prece. Muze poslat presmerovaci hlavicku (3xx) a klient zaridi zbytek. Takze pokud mod_alias zmeni URL je ve hre jeste dalsi pozadavek klienta. Doporucil bych ti kurz HTTP co ucim, ale zatim je jen v Brne. Leo
thingwath
Profil
Nebo se mrknout třeba etherealem.

Klient si dal požadavek GET nějaká_URL a server na něj odpoví. Odpovídá 301, což se posílá klientovi. A ten si musí poslat nový požadavek na novou URL, na kterou mu už server řekne OK a pošle data té stránky. Pokud přesměrováváš, nemůže server iniciativně vrátit hned data té stránky na kterou ho přesměrováváš, to by nebylo žádné přesměrování :-)

O zdržování bych moc nemluvil, objem dat je minimální, záleží to víceméně jenom na odezvě. Celé je to zrychlené ještě tím, že dnes už není problém posílat více dotazů v rámci jednoho spojení, takže si tím taky šetříme čas. Ale přesměrovávat více než jednou je trochu nesystémové a zavání to bordelem na straně serveru ;-)
Kajman
Profil *
A někteří klienti si přesměrování 301 zapamatují a příště rovnou žádají o novou adresu.
Leo
Profil
Jo, 301 znamena Moved Permanently, a klient by priste uz mel pouzit nove URL. Leo
michaelkiller
Profil
Doporucil bych ti kurz HTTP co ucim, ale zatim je jen v Brne.
Mohol by som sa spytat, kde konkretne vyucujete tento kurz a ake kurzy okrem tohoto?
Dakujem za odpoved.
Leo
Profil
"Mohol by som sa spytat, kde konkretne vyucujete tento kurz a ake kurzy okrem tohoto?"

Počítačová škola Gopas, Kurz HTTP

Jinak jeste JavaScript, a obcas i neco jineho kolem tvorby stranek.

Leo
Yuhů
Profil
Leo > Takze pokud mod_alias zmeni URL je ve hre jeste dalsi pozadavek klienta.

OK, to jsem si myslel.

Takže čistě teoreticky přesměrování zpomaluje doručení stránky. Je potom vhodné vůbec přesměrování používat jako standardní metodu? Například jak to dělá Root.cz nebo msn.com? Podle mě ne. Jaké tam asi tak může být zpoždění? Malé, nebo dvojnásobné?
Yuhů
Profil
Kajman> A někteří klienti si přesměrování 301 zapamatují a příště rovnou žádají o novou adresu.

nevíš prosím, kteří klienti to dělají?

Díky.
Leo
Profil
"nevíš prosím, kteří klienti to dělají?"

Napriklad Firefox urcite, zalezi ovsem na kesovani (kes je misto, kam se info o tom, ze misto stranky 1 si ma vyzadat primo stranku 2 protoze puvodne dostal kod 301 uklada). Leo
Yuhů
Profil
Díky za odpověď.

302 si ukládají také? Nebo to je přesně ten praktický rozdíl mezi přesměrováním 301 a 302?
Leo
Profil
"Nebo to je přesně ten praktický rozdíl mezi přesměrováním 301 a 302?"

Podle specifikace HTTP ano, praxe je slozitejsi - prohlizece se lisi ve svem chovani ne az na urovni HTTP, nebo CSS2, ale uz v HTTP. Zalezi na kesovani, verzi HTTP, a metode - jakmile je prvotni pozadavek metodou POST, pridavaji se dalsi komplikace a rozdily. Leo
Kajman
Profil *
> 302 si ukládají také? Nebo to je přesně ten praktický rozdíl mezi přesměrováním 301 a 302?

Onen zmiňovaný firefox si informaci o 302 asi taky ukládá, ale nepoužije ji příště, takže v praxi to u něj tak funguje... pokud má (nejspíš v histori) uložené, že z té adresy byly nějaké 301, jde rovnou na tu koncovou adresu. Při 302 hopká znovu, což je v plném souladu definice obou kódů.

A co se toho roota týče, tak oni to mají možná na testování, zda jsou zapnuté cookies + nějaké statistiky. Určitě je to pomalejší, ale vzhledem k tomu, že chodí jen pár řádků a těch požadavků zrovna u tohoto serveru chodí hodně, tak se to tam ztratí.
Leo
Profil
"pokud má (nejspíš v histori) uložené, že z té adresy byly nějaké 301, jde rovnou na tu koncovou adresu."

Jen poznamka - uklada to do kese, ne do historie. Leo
Toto téma je uzamčeno. Odpověď nelze zaslat.

0