Vazeni a mili ctenari ROOTa. Chtel bych vas poprosit o radu, nebo spise o male vysvetleni. Po svem predchudci jsem ve webovych strankach meho zamestnavatele podedil velice "tucnou" hlavicku.
Nektere polozky mi nejsou zcela jasne, dokonce se mi zda, ze nektere z nich jsou i zbytechne. Neni to tak, ze bych vubec nevedel o co jde, ale v "moudrych knihach" se zpravidla doctu pouze co ten ktery parametr nastavuje, coz vim, ale uz se nedozvim, co z tohoto nastaveni plyne. Cim je vyhodne, nebo kdy jej pouzit.
Napriklad:
<META HTTP-EQUIV="cache-control" CONTENT="private">
Ja sice vim, ze to znamena, ze lze dokument kacheovat pouze v privatnich kache (kesich (ach ta cestina) ;-),
ale celkem uz netusim, k cemu je to dobre. Nebo lepe receno, nevim proc by stranka nemela by kachovana, vzdyt se pak rychleji natahuje ne? Takovy prikaz je dobre pouzivat u veci, ktere jsou nejakym zpusobem osobni a potrebuji jistou miru "utajeni". Je to tak?
Pokud mi nekdo poradite s touto veci, budu rad, ale mozna, ze je lidi s takovymi otazkami vic. Mozna by nebylo spatne to probrat vic do hloubky, obecne informace jsou v "moudrych knihach".
A vubec nemusi jit pouze o http, spise by nebylo spatne probrat celou hlavicku html dokumentu.
Mimochodem, v komentari, ktery urcuje typ a verzi:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
se v i v ceskych strankach vetsinou uvadi EN, jako by slo o anglicky dokument.
Kdesi jsem cetl, ze by se tam melo uvadet (tusim)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Final//CZ">
Jak to je?
Poslední část veřejného identifikátoru "-//W3C//DTD HTML 4.0 Transitional//EN" určuje jazyk, ve kterém je napsaný dokument identifikovaný tímto veřejným identifikátorm.
Vzhledem k tomu, že oním dokumentem je DTD pro HTML 4.0, které je napsané v angličtině, je jediná správná varianta EN.
Docela by mne zajímalo, kde jste se dočetl, že tam má být CZ. Rád bych zdroj této dezinformace zničil u pramene.
BTW: To "CZ" musel vymyslet nějaký "skutečný odborník". Když už někdo chtěl HTML stránku dokonale přeložit, měl z "EN" udělat "CS". Kód českého jazyka (cs) <> kód České republiky (cz).
Stranky obvykle zakazuji cache pokud maji dynamicky obsah, tedy skripty PHP,Perlu, CGI apod.
Nebo pokud to jsou stranky s opravdu CASTOU aktualizaci, radove minuty.
U skriptu pak ma zakaz logicke opodstatneni.
U statickych stranek o zadnem duvodu proc nekesovat nevim.
Z bezpecnosti to ale bezpecne nesouvisi, protoze kudy natahovana stranka projde, si ji stejne mohou odchytit, jestli budou chtit, cache, necache! pro skutecne utajeni se musi pouzit sifrovani, napr. metoda SSL.
Cache-control: private by mohla být typická pro stránky, kde se na serveru automaticky překódovává čeština, ale není přesně jasné, podle jakých parametrů. (Anebo když si chci zvýšit návštěvnost v nesmyslných statistikách, které obvykle správně nezohledňují přístupy z proxy-serverů.)
Viz: http://kizi2.vse.cz/kizi/IKSy/ kapitola 8 Využití protokolu HTTP
..ano, to je opravu dobry zdroj, Mohu doporucit
Takze odpoved browseru s POST argumenty by mela vypadat takto:
POST /lwgate/ HTTP/1.0
Content-Length: 41
prázdný řádek
execute=info&email=jjkastl@vse.cz&ref=yes
Zkusim jeste nejaky slozitejsi priklad s delsim textem a vice radky.
Taky se mi nezda, ze by Content-Length: MUSELO vzdy byt uvedeno!
Zkousel jsem poslat neco v JAVE (pres objekt URLConnection) do skriptu v PHP na lokalhostu dle zadaneho vzoru. A onbo si to PHP skutecne naparsovalo a dane promenne se tam objevili!
Ale parametr delky tam Java na zacatku asi tezko posle, kdyz to nemuze vedet!
(posilam to nam na nekolika println(..) ve for-cyklu, leda by to nekde bufferoval a pak inteligentne doplnil, ale to se mi nezda)