Portál AbcLinuxu, 10. května 2025 08:56

Dotaz: Jak vypnout kesovani na serveru

27.11.2008 17:45 noems
Jak vypnout kesovani na serveru
Přečteno: 1073×
Odpovědět | Admin
.ahoj, kde a jak muzu vypnou kesovani souboru na webserveru? Potrebuji aby pokazde poslal soubory ze slozky documentroot a ne z nejake kese na serveru. Dekuji
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.11.2008 18:52 luky
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru
Odpovědět | | Sbalit | Link | Blokovat | Admin

Moznosti je pomerne hodne, od skutecneho cachovani na serveru, pres spatne informacni hlavicky v odpovedi, po spatny reload v prohlizeci. Bez kristalove koule Vam mohu doporucit pouze vyhledani souboru httpd.conf.

 

27.11.2008 19:40 noems
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

Dotaz jsem polozil snad naprosto jasne, ne? Potrebuji vypnout kesovani na serveru, aby se vsechny soubory nacitali pokazde z document root a ne z kese serveru.... tak k cemu kristalovou kouli??? BTW: nevim proc do toho serete nejaky prohlizec kdyz je rec o serveru..

27.11.2008 19:46 Andy | skóre: 18 | NMnMet
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

myslite ze vam jeste s tou aroganci odpovi? ja bych rek ze ne

Válka je vůl ... a já taky ;) | Chaotic state of my influence.
27.11.2008 19:52 noems
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

Abych rekl pravdu tak od nej o odpoved ani nestojim, napisem sem nesmysl a jeste da vlakno jako zodpovezene.. to me fakt zvedlo z kresla a vyletel mi tlak na 500 !!!!

Predpokladam ze mi odpovi nekdo kdo mi poradit bude chtit a zna problematiku toho na co jsem se ptal.. Slusne jsem se zeptal, nic spatneho jsem nenapsal a na podobne debilni odpovedi by reagoval tak jako ja asi kazdy.. to se na me nezlobte..

27.11.2008 20:17 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru
Lenže oná pravdu. Cache-ovať sa môže na rôznych miestach a teda sa bez podrobnejšieho popisu nedá určiť, kde je problém a ako sa dá vyriešiť.

Majú odpovede nastavené, aby sa posielalo no-cache, prípadne nastavujú správne čas pre Last-Modified alebo hodnotu v ETag? (a aby si tú odpoveď neuložil prehliadač, ale ani nejaké proxy po ceste).
27.11.2008 21:21 noems
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

Podrobnejsi popis dat neumim, nejsem profesional ;) Jedine co vim je, ze potrebuji aby kdyz se v url zada nejaka domena, tak prislusne soubory v documentrootu aby se nacetly znova primo z tohoto adresare. A to pokazde kdyz je na ne pozadavek a to jen a jen z tohoto mista, od nikud jinud ne! Dekuji

27.11.2008 20:21 tomk
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

 Ta narazka na kristalovou kouli pramenila patrne z toho, ze webserver s majoritnim zastoupneim ve vetsine defaultnich konfiguraci zadnou svoji cache, ve ktere by si drzel obsah souboru, nepouziva. Jakmile mu tam date soubor novy, tak ho proste pouzije. Informace obsazene ve Vasem dotazu pritom neumoznily v uvahach pouzit jiny nez majoritni webserver v jinem, nez defaultnim nastaveni. Proto asi puvodni odpovidajici hledal problem na pravdepodobnejsich mistech.

V httpd od Apache muzete napriklad pouzivat mod_cache nebo mod_file_cache, ktere funkcionalitu cache na urovni webserveru poskytuji. Tyto moduly muzete konfigurovat odpovidajicimi volbami v httpd.conf - viz http://httpd.apache.org/docs/2.2/caching.html .

Tomas

27.11.2008 21:24 noems
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

No mam standartni instalaci debian 4.0 a webserver mi jede na apache2. Ani jeden z Vami uvadenych modulu nepouzivam ale zkusim pohledat neco kolem toho, jelikoz nevim ktery je na co.. Diky

27.11.2008 22:00 tomk
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

 A muzete presne popsat co delate, jaky vysledek ocekavate a jaky vysledek dostanete? Podle toho co jste psal jsem si zatim predstavoval takovyhle scenar:

V document root, ktery je na lokalnim filesystemu na serveru, vytvorim index.html s nejakym obsahem. Zobrazim si ho v prohlizeci. Upravim index.html na lokalnim filesystemu na serveru. V prohlizeci dam reload, cekal bych, ze se zobrazi novy obsah index.html, ale zobrazuje se mi stale puvodni. Je to tak?

Tomas

 

27.11.2008 20:25 Atom321 | skóre: 20
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

No, z vašeho dotazu je zřejmé pouze to, že máte nějaký blíže neurčený webserver, který někde cosi kešuje. Jaký server máte - apache,boa,khttpd? A jakou verzi? Máte tam nějakou proxy, používáte mod_cache? Co se vlastně kešuje a nemělo by  - statické stránky, dynamicky vygenerovaná stránka v PHP nebo jen její zdroják? Jak jste přišel na to, že to kešuje server a ne prohlížeč, nebo nějaká proxy v cestě?

Na váš slušný hloupý dotaz "kde a jak muzu vypnou kesovani souboru na webserveru" bohužel existuje jediná slušná (a také poněkud hloupá) odpověď:

Vypnout kešování souborů můžete v nastavení vašeho webserveru. Postup je zcela jistě popsaný v dokumentaci.

27.11.2008 21:28 noems
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

Pouzivam apache2, proxy nemam, mod_cache taky nepouzivam. Co se nekesuje?  Nekesuji se  pouze soubyry PHP, jinak obrazky nebo styly se po zmene nenacitaji z documentrootu. Prisel jsem na to tak, ze jsem vypnul kesovani u prohlizece a zmeny se neprojevili az do te doby, dokud jsem nerestartoval cely server. estart apache taky nestaci.. Cili z toho usuzuji, ze se nacitaji soubory a obrazky od nekud jinud nez z documentroot. V ceste taky proxy zadna neni.. Diky

Heron avatar 27.11.2008 22:45 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru
Sobory PHP se kešovat jen tak snadno nemohou, protože se vykonávají. Ty se do prohlížeče nestahují.

Kdo všechno může kešovat: apache (pokud je tak nastaven); nějaká http proxy po cestě k prohlížeči (klidně transparentní); samotný prohlížeč (u některých je provedení skutečného reloadu problém).

Takže zkus si nějaký soubor, který se ti v prohlížeči cachuje, stáhnout třeba pomocí wget a uvidíš, zdali se mění s jeho změnou v documentroot. A toto nejlépe na tom serveru samotném. Taktéž pomůže nějaký plugin třeba firebug do FF ať vidíš hlavičky http (pragma, cache) u toho přenosu souboru.

Mezi apachem a systémem souborů už v podstatě nic cachovat nemůže. Problém též může být v tom, že apache (nebo někdo) má (z nějakého důvodu) trvale otevřený ten soubor a při změně jej nereloadne do paměti. Ale takhle složité ti asi nebude.

Zkus sem když tak pastnout výsledek phpinfo();
27.11.2008 21:44 luky
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

Zabavne. Omlouvam se za zpusobene zdravotni potize :)

  1. Moje odpoved nebyla nesmyslna ani debilni, ale Vas dotaz bych ted tak klidne oznacil.
  2. Dotaz jsem neoznacil za vyreseny. Jak bych taky mohl, ze?
  3. Troufam si rict, ze tomu docela rozumim, asi i proto nestrilim od pasu, kdyz misto konkretnich informaci mam k dispozici velky kulovy, protoze jsem se setkal s tolika resenimi, ktera byste Vy nejspis ani nespocital
27.11.2008 21:32 luky
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

Obrat s kristalovou kouli je pomerne bezna reakce na dotazy jako je ten Vas. Potreboval bych ji k tomu, abych vedel, ja nebo kdokoliv jiny, jaky webserver pouzivate, v jake verzi a v jake konfiguraci, protoze jste neuvedl vubec zadne doplnujici informace. Ze stejneho duvodu jsem zminil i moznost problemu na strane prohlizece. Na Vas slusne polozeny dotaz jsem taky slusne odpovedel, prestoze je hodny tak leda smazani, takze si to srani nechte od cesty.

 

27.11.2008 21:49 noems
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

Aha, dalsi pan co se narodil spravcem.. se divim ze vubec pisete do fora kde jsou sami hlupaci...

Tak hlavne ze jste si udelal dalsi 2 zarezy a budete vic IN.. i za naprosto nesmyslne prispevky .. ale tady se na to asi nehraje..

27.11.2008 23:50 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru
Nechapem preco tak strasne podrazdene reagujete. Zatial tu neni dostatok relevantych udajov k tomu aby sa dalo jedhoznacne urcit kde je problem, alebo vas aspon nasmerovat na spravnu cestu. Vas dotaz a prodrazdene odpovede vyzeraju ako keby ste zavolali do prveho servisu a nahlasili ze vam nejde auto. Bez toho aby ste podrobnejsie popisali to auto a co znamena vyraz 'nejde' sa to proste neda.

No a teraz k veci.
Kedze ako vidim mate "istotu" ze to robi server, aj ked neviete vobec detaili o nom. Tak nam to skuste dokazat a pritom doplnit chybajuce data do dotazu. Najjednoduchsie bude ked sa pozrete ci server vracia spravne data. Staci sa napojit na servri na http port a zadat:
GET / HTTP/1.1
Host: lukas.domain.tld
Po tom co to dva razy odenterujete vam pride pekna hlavicka a dvolezity udaj Last-Modified. Napriklad ako toto:
$ telnet localhost http
Trying 127.0.0.1...
Connected to lukas.domain.tld.
Escape character is '^]'.
GET / HTTP/1.1
Host: lukas.domain.tld

HTTP/1.1 200 OK
Date: Thu, 27 Nov 2008 22:36:44 GMT
Server: Apache
Last-Modified: Sun, 13 Apr 2008 12:52:29 GMT
ETag: "d136a-2c-44ac0a3cadd40"
Accept-Ranges: bytes
Content-Length: 44
Content-Type: text/html

It works!
Connection closed by foreign host.
$
V tom riadku GET / HTTP/1.1 sa samozrejme da napisat cesta k suboru :o)
Pokial "Date:" a "Last-Modified:" zobrazuje relevantne data tak server neni problem a treba hladat zle nastavene proxy alebo transparent proxy.
28.11.2008 00:19 noems
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

A tohle mam napsat do terminalu?

GET / HTTP/1.1
Host: lukas.domain.tld

 

diky..
 

28.11.2008 01:37 Haaja | skóre: 25 | blog: haaja | Praha
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

Pouzijte "telnet" nebo "nc" (netcat) a tam zadejte radky uvedene vyse.

28.11.2008 15:53 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru
Otvorte si na servri telnet spojenie na port 80. Napr takto:
$ telnet localhost 80
Do do toho spojenia napiste:
GET /nazov_suboru.html HTTP/1.1
Host: nazov_servru.domena
a podtvrde dvoma entermi.
Samozrejme ze pouzite relevantne udaje pre vas server (subor, cesta + hostname). To co som pouzil hore som dal len ako priklad.

Tu som otvoril poslednu anketu na abclinuxu a vidiet, ze poskytuje spravny udaj o poslednej zmene + upozornuje prehliadac/proxy aby sa udaje necachovaly.
$ telnet www.abclinuxu.cz http
Trying 195.70.150.7...
Connected to abicko.abclinuxu.cz.
Escape character is '^]'.
GET /ankety/barva-klavesnice HTTP/1.1
Host: www.abclinuxu.cz

HTTP/1.1 200 OK
Date: Fri, 28 Nov 2008 14:48:53 GMT
Expires: Fri, 22 Dec 2000 05:00:00 GMT
Set-Cookie: JSESSIONID=1bnarq4onliz5;Path=/
Content-Type: text/html; charset=utf-8
Last-Modified: Fri, 28 Nov 2008 14:49:00 GMT
Cache-Control: no-cache, must-revalidate
Pragma: no-cache
Transfer-Encoding: chunked
Server: Jetty(6.1.11)
28.11.2008 18:26 noems
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

Tak nevim, no.. Pisemi to uplneneco jineho :)

 

prikladam vypis

 


debian:~# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /index.php HTTP/1.1
Host: localhost.cz

HTTP/1.1 301 Moved Permanently
Date: Fri, 28 Nov 2008 17:24:20 GMT
Server: Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch13 mod_perl/2.0.2 Perl/v5.8.8
Location: http://www.localhost.cz/index.php
Content-Length: 395
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.localhost.cz/index.php">here</a>.</p>
<hr>
<address>Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch13 mod_perl/2.0.2 Perl/v5.8.8 Server at localhost.cz Port 80</address>
</body></html>

Connection closed by foreign host.
debian:~#


 

Dekuji

28.11.2008 20:28 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru
Staci len citat. Server mate nastaveny aby pridal www na zaciatok. Vy ste zadali host "localhost.cz" a server odpovedal ze je "www.localhost.cz". Takze este raz a s celym hostnamom :o) Odpoved musi byt 200 a +- taka ako som ja pisal.
28.11.2008 21:09 noems
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru

Tak jeste jednou.. :)

 


debian:~# telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /index.php HTTP/1.1
Host: www.localhost.cz

HTTP/1.1 200 OK
Date: Fri, 28 Nov 2008 20:07:25 GMT
Server: Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8+etch13 mod_perl/2.0.2 Perl/v5.8.8
X-Powered-By: PHP/5.2.0-8+etch13
Content-Length: 261
Content-Type: text/html; charset=UTF-8
X-Pad: avoid browser bug

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=windows-1250">
  <title>LocalHost</title>

  </head>
  <body>

<p>
  v priprave..
</p>

</body>
</html>
Connection closed by foreign host.


 dekuji

1.12.2008 23:32 Jooky (inactive) | skóre: 39 | blog: Jooky | Bratislava
Rozbalit Rozbalit vše Re: Jak vypnout kesovani na serveru
php neni dobry priklad, tam sa vecsinou ocakava ze si tvorca poriesi ako casto sa stranka updatuje a podla toho posle relevantne data prehliadacu. Ked chcete docielit toho, ze pri kazdom nacitani sa obidu vsetky cache (a podla vasich prispevkov som si isty ze tam mate transparent proxy), tak staci poslat spravny header. Napr takto:
/* we don't want these pages cached */
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
Inak povedane proxy cache nema data ukladat a vzdy musi skontrolovat platnost. Cas zmeny nahlasi aktualny cas a cas expiracie na cas v minulosti.

Skuste si ale zvazit ako tieto parametre nastavit. Niekedy je lepsie pouzit nieco rozumne ako vynutit nacitavanie stranky pri kazdom pristupe.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.