a écrit :
je ne vois pas trop ce qu'est l'entête http, où ça se trouve
Internet est un réseau informatique (infrastructure matérielle reliant des ordinateurs) par lequel des ordinateurs échangent des données. Ces échanges se font selon des conventions très précises. Ces conventions sont structurées en ce qu'on appelle des protocoles. De très nombreux protocoles sont utilisés sur internet, chacun ayant une finalité propre. Des protocoles peuvent être encastrés les uns dans les autres. Dans ce cas, ceux qui sont près de l'infrastructure matérielle sont appelés protocoles de bas niveau ceux qui en sont éloignés sont dits de haut niveau. Exemple simplificateur : j'ai un protocole qui décrit comment envoyer un octet (bas niveau) qui est utilisé par un protocole qui décrit comment envoyer un fichier (haut niveau). Sur Internet, 2 protocoles bien connus (au moins de nom) plutôt bas sont IP et TCP. Par ailleurs je suis certains que tu connais de nom des protocoles de haut niveau : http, ftp, smtp, IRQ, protocoles P2P, VPN ...
http correspond à ce qu'on appel le web (qui est donc bien différent de Internet). Ce protocole définit comment un serveur web envoie à un navigateur des objets constituant une page web, et comment un navigateur les demande. Ce protocole spécifie une enveloppe (ce que j'ai appelé entête http) et comment y glisser un contenu. Tu peux prendre l'image de la poste : sur l'enveloppe tu écris l'adresse du destinataire, la tienne éventuellement, tu mets un timbre etc, ce sont les entêtes, à l'intérieur tu glisses le contenu et tu fermes.
Quand tu surfes sur le web les entêtes http ne t'intéressent guère. C'est le contenu que tu vois après réarrangement de la part du navigateur. Mais le serveur web et le navigateur ne se causent que par messages http en spécifiant correctement l'enveloppe http.
a écrit :
j'ai beaucoup de mal à me représenter concrètement ce que ça donne
Si tu utilises Firefox je te conseille l'extension
livehttpheaders. Tu découvriras l'ensemble des données que le serveur et le navigateur s'écrivent, tu verras si ton navigateur demande telle feuille de style ou telle image. Tu verras également quelles sont les réponses du serveur.
a écrit :
comment on l'écrit, où on l'écrit,...
Coté navigateur inutile de s'en soucier (sauf si tu es un hacker), il se débrouille tout seul. En revanche si tu es webmaster, logiquement c'est toi qui devrait piloter ton serveur web (même s'il fait souvent bien son boulot tout seul).
Pour des pages statiques il faut paramétrer le serveur web directement. Apache dispose d'un module mod_expires qui permet de gérer les entêtes http spécifiques aux problématiques cache. Pour les pages dynamiques, la plateforme doit permettre de gérer également les entêtes. Sous PHP par exemple la fonction header() le fait très bien.