Autor | Zpráva | ||
---|---|---|---|
seph Profil * |
Zdravím všechny, co byli zaujati tímto tématem.
Nedávno jsem začal využívat firefoxí zlepšovák Firebug+YSlow a zjistil jsem, že bych si měl pohrát s kešování a nastavit ETagy. Tak jsem tedy začal a ve spolupráci s google hledal jak, kde, proč a co. Něco jsem našel (kousek tady a kousek na W3), ale moc mi to tedy nepomohlo, protože YSlow mi pořád vyčítá, že nemám nastavené ETags a dobu platnosti - expire headers. Nastavuji to tímto způsobem: <?php $offset = 1; $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; header("Cache-Control: must-revalidate"); Header($ExpStr); header ('ETag: \"\"'); header('Content-type: text/css; charset: iso-8859-2'); header ('Cache-control: must-revalidate '); Header($ExpStr); header ('ETag: \"\"'); header('Content-type: image;'); header ('Cache-control: must-revalidate'); Header($ExpStr); header ('ETag: \"\"'); ?> Neříkám jak děsně moc tomu rozumím, ale mělo by to být víceméně správně. Děkuji za každý přínosný příspěvek v diskuzi. |
||
seph Profil * |
už je to v pořádku, stačilo smazat poslední čtyři řádky od koncového tagu "?>". Konkrétně tyto:
header('Content-type: image;'); header ('Cache-control: must-revalidate'); Header($ExpStr); header ('ETag: \"\"'); |
||
DoubleThink Profil * |
#3 · Zasláno: 13. 3. 2010, 22:23:25
ETag je unikátní otisk dokumentu. Jaký smysl má jej uvádět s prázdnou hodnotou?
|
||
Nox Profil |
Do htaccess:
FileETag MTime Size |
||
seph Profil * |
#5 · Zasláno: 14. 3. 2010, 20:32:12
DoubleThink:
„ETag je unikátní otisk dokumentu. Jaký smysl má jej uvádět s prázdnou hodnotou?“ Pouze kvůli kosmetice. YSlow snižuje o něco hodnocení A jeden dodatek: Zjistil jsem, jak se to chová: když dám např. "header('Content-type: image;');" jako poslední, bere se celý soubor jako kdyby to byl obrázek. Což je sice fajn z důvodu docela podvodného zlepšení hodnocení od YSlow a také se pak nepřidají do stránek všelijaké ty panely a reklamy, jak je tomu u freehostingů. ALE stále nevím jak nastavit hlavičky k souborům .css, .js a obrázkům, můžete mi s tím prosím poradit? Přístup do htaccess pravděpodobně nebude možný. |
||
ninja Profil |
#6 · Zasláno: 14. 3. 2010, 20:41:22
seph: Jaký smysl má obelhávat YSlow?! Nestačí když si v duchu řeknete, že vaše stránky jsou nejlepší a nejrychlejší?
|
||
seph Profil * |
#7 · Zasláno: 14. 3. 2010, 20:44:31
ninja:
„Jaký smysl má obelhávat YSlow?!“ Prostě si musím něco kompenzovat no :) Ojojoj, teď jsem si všiml, že jsem diskuzi vytvořil mimo mísu - v grafice. Pardon |
||
DoubleThink Profil * |
#8 · Zasláno: 14. 3. 2010, 20:57:21
ninja:
„Nestačí když si v duchu řeknete, že vaše stránky jsou nejlepší a nejrychlejší?“ ETag, na rozdíl třeba od validity, význam má. Prohlížeče jej používají pro kontrolu čerstvosti své keše (ptají se pak serveru, jestli je ETag pořád stejný hlavičkou If-None-Match). Server pak může šetřit výkon i traffic obou stran a odpovědět 304 Not Modified. Pokud ovšem tady seph uvede jako ETag nějakou blbost, může se dočkat akorát zmateného chování keší. |
||
seph Profil * |
#9 · Zasláno: 14. 3. 2010, 21:14:06
DoubleThink
O této kontrolu jsem si přečetl na w3 a na developer.yahoo, ale jsem neviděl praktický příklad, pouze kód headru. Nepochopil jsem jak se s tím pracuje ani jak zadat pro odlišné entity jiné tagy :( |
||
ninja Profil |
#10 · Zasláno: 14. 3. 2010, 22:04:20
DoubleThink: ETag samozřejmě význam má a jeho ignorování je chyba, nicméně nastavovat jej na nasmyslné hodnoty je horší než jej vůbec nepoužívat.
seph: Pokud netušíte proč a jak se ETag používá, radši si jej nechte být, protože pravděpodobně naděláte více škody než užitku. |
||
Časová prodleva: 8 měsíců
|
|||
Lopik Profil * |
#11 · Zasláno: 19. 11. 2010, 15:29:59
Kam se zapisuji tyto hodnoty ? zkousel jsem to do head ale udelalo to paseku ... diky za odpoved
<?php $offset = 1; $ExpStr = "Expires: " . gmdate("D, d M Y H:i:s", time() + $offset) . " GMT"; header("Cache-Control: must-revalidate"); Header($ExpStr); ?> |
||
ninja Profil |
#12 · Zasláno: 19. 11. 2010, 17:37:29
Lopik: Úplně na začátek PHP souboru, ješte před jakýkoliv jiným výstupem.
|
||
Časová prodleva: 13 let
|
0