Hallo ich habe auf nem uC LwIp laufen und fsdata als Filesystem. Dabei wird eine recht große css Datei ständig mitgesendet, die ich eigentlich nur einmalig geladen werden kann und dann im Browser Cache bleiben. Gibt es da irgendeine Möglichkeit? Ich weiß bei den HTML Files kann man Caching via header "erzwingen", wie macht man das aber bei den CSS Files?
http://thomas-huehn.de/web/caching-tutorial/ Bzw. Das englischsprachige Original: http://www.mnot.net/cache_docs/
Hmm, ich habe einen header erstellt und wenn der jetzt mitgesendet wird, wird nur die html Seite geladen soweit ok, aber die ganzen Bilder und die CSS Datei werden erst gar nciht angefasst. Bist du dir sicher, dass man es da ebenfalls per header macht?
1 | const char http_header[] = "HTTP/1.1 200 OK\r\nExpires: Fri, 31 Jan 2099 06:06:06 GMT\r\nLast-Modified: Di, 08 Jul 2011 11:30:00 GMT"; |
2 | |
3 | hs->file = file.data; |
4 | hs->left = file.len; |
5 | /* printf("data %p len %ld\n", hs->file, hs->left);*/ |
6 | |
7 | pbuf_free(p); |
8 | tcp_write(pcb,http_header, 108, 0); |
9 | send_data(pcb, hs); |
10 | |
11 | /* Tell TCP that we wish be to informed of data that has been |
12 | successfully sent by a call to the http_sent() function. */ |
13 | tcp_sent(pcb, http_sent); |
Archie F..... schrieb: > Bist du dir sicher, dass > man es da ebenfalls per header macht? Ja macht man so. Schau dir am besten mit FireBug mal an was genau gesendet/Empfangen wird. Der Header muss aber mit zwei Umbrüchen enden und ein senden des Content-Type ist auch nicht verkehrt.
Ja eben, Firebug hat mir die html Seite rausgespuckt mit dem o.g. header, der Rest wurde nicht geladen. Lasse ich den header weg, wird alles geladen. Die Files die nciht geladen werden, müßten im Cache sein, Feuerfux zeigt die aber nicht an :/
Ach ja, die Antwort kommt auch aus dem Cache:
1 | Antwort-Header |
2 | Expires Fri, 31 Jan 2099 06:06:06 GMT |
3 | Last-Modified Di, 08 Jul 2011 11:30:00 GMT |
4 | |
5 | Anfrage-Header |
6 | Host 172.16.20.91 |
7 | User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2 |
8 | Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
9 | Accept-Language de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 |
10 | Accept-Encoding gzip, deflate |
11 | Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 |
12 | Connection keep-alive |
13 | |
14 | 1 Anfrage |
15 | |
16 | 2.6 KB |
17 | |
18 | (2.6 KB vom Cache) |
Wie gesagt, Content-type mitsenden und ggf. STRG-F5 um den Cache zu umgehen.
Ich werde es am Montag mit Content type testen, das macht Sinn. Da ich ja alles gerne cachen würde außer die HTML Datei selbst. Danke dir.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.