Pour tout site, il est crucial de configurer correctement les en-tĂȘtes HTTP. De nombreux articles ont Ă©tĂ© Ă©crits sur le sujet des en-tĂȘtes. Ici, nous avons rĂ©sumĂ© l'expĂ©rience accumulĂ©e et la documentation RFC. Certains en-tĂȘtes sont obligatoires, d'autres sont obsolĂštes, et certains peuvent crĂ©er de la confusion et des contradictions. Nous avons rĂ©alisĂ© un vĂ©rificateur pour . Contrairement Ă de nombreux autres services qui se contentent d'afficher les en-tĂȘtes, ce service permet de :
- dĂ©finir la valeur des en-tĂȘtes typiques ;
- ajouter vos propres en-tĂȘtes personnalisĂ©s ;
- spécifier la version du protocole HTTP : 1.0, 1.1, 2 (vérifie si HTTP/2 est pris en charge) ;
- indiquer la mĂ©thode de requĂȘte, le temps d'attente et les donnĂ©es postdata Ă envoyer au serveur ;
- le vĂ©rificateur vĂ©rifie Ă©galement la validitĂ© des rĂ©ponses aux requĂȘtes If-Modified-Since, If-None-Match, si la rĂ©ponse du serveur contient Last-Modified ou ETag.
Nous ne revendiquons pas l'exclusivitĂ© de la vĂ©ritĂ© derniĂšre. Pour certains contenus et pour certains projets, il peut y avoir des exceptions. Mais ce service peut certainement vous indiquer ce sur quoi il vaut la peine de prĂȘter attention, il peut vous ĂȘtre utile de modifier vos en-tĂȘtes. Voici la liste des Ă©lĂ©ments sur lesquels le service de vĂ©rification se concentre. Pour en savoir plus, lisez .
En-tĂȘtes obligatoires
- Date
- Content-Type avec indication de charset pour le contenu texte, de préférence utf-8
- Content-Encoding pour la compression du contenu texte
En-tĂȘtes obsolĂštes et inutiles
- Server avec version détaillée du serveur web
- X-Power-By
- X_ASPNET-Version
- Expires
- Pragma
- P3P
- Via
- X-UA-Compatible
En-tĂȘtes recommandĂ©s pour la sĂ©curitĂ©
- X-Content-Type-Options
- X-XSS-Protection
- Strict-Transport-Security
- Referrer-Policy
- Feature-Policy
- Content-Security-Policy ou Content-Security-Policy-Report-Only pour interdire les scripts et styles intégrés.
En-tĂȘtes pour la mise en cache
Obligatoires pour le contenu statique avec une longue durée de mise en cache et fortement souhaitables pour le contenu dynamique avec une courte durée de mise en cache.
- Last-Modified
- ETag
- Cache-Control
- Vary
- Il est important que le serveur rĂ©ponde correctement aux en-tĂȘtes : If-Modified-Since et If-None-Match
HTTP/2
Actuellement, le serveur doit supporter HTTP/2. Par défaut, le service vérifie le fonctionnement du serveur sur HTTP/2. Si votre serveur ne prend pas en charge HTTP/2, choisissez HTTP/1.1.
Source : habr.com
