Forum: Mikrocontroller und Digitale Elektronik uC gehostete webseite vom PC browser cachen lassen


von Archie F. (archie)


Lesenswert?

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?

von Martin (Gast)


Lesenswert?

Genauso. Per HTTP-Header.

von Martin (Gast)


Lesenswert?


von Archie F. (archie)


Lesenswert?

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);

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

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.

von Archie F. (archie)


Lesenswert?

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 :/

von Archie F. (archie)


Lesenswert?

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)

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Wie gesagt, Content-type mitsenden und ggf. STRG-F5 um den Cache zu 
umgehen.

von Archie F. (archie)


Lesenswert?

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
Noch kein Account? Hier anmelden.