Per ogni sito è importante configurare correttamente gli header HTTP. Sono state scritte molte articoli sugli header. Qui abbiamo riassunto l'esperienza accumulata e la documentazione RFC. Alcuni header sono obbligatori, altri obsoleti, alcuni possono causare confusione e contraddizioni. Abbiamo creato un'utilità per . A differenza di molti altri servizi che mostrano semplicemente gli header, questo servizio permette di:
- impostare il valore degli header standard;
- aggiungere i propri header personalizzati;
- specificare la versione del protocollo HTTP: 1.0, 1.1, 2 (controlla se HTTP/2 è supportato);
- indicare il metodo della richiesta, il tempo di attesa e i dati postdata da inviare al server;
- l'utilità verifica anche la correttezza delle risposte alle richieste If-Modified-Since, If-None-Match, se nella risposta del server è presente Last-Modified o ETag.
Non pretendiamo di avere l'ultima parola. Per contenuti specifici e progetti diversi, possono esserci delle eccezioni. Tuttavia, questo servizio ti consiglierebbe su cosa prestare attenzione; potrebbe essere utile rivedere i tuoi titoli. Di seguito è riportato un elenco di ciò su cui si concentra il servizio di verifica. Perché è così, leggi .
Intestazioni obbligatorie
- Date
- Content-Type con settaggio charset per contenuti di testo preferibilmente utf-8
- Content-Encoding compressione per contenuti di testo
Intestazioni obsolete e non necessarie
- Server con la versione dettagliata del server web
- X-Power-By
- X_ASPNET-Version
- Expires
- Pragma
- P3P
- Via
- X-UA-Compatible
Intestazioni desiderabili per la sicurezza
- X-Content-Type-Options
- X-XSS-Protection
- Strict-Transport-Security
- Referrer-Policy
- Feature-Policy
- Content-Security-Policy o Content-Security-Policy-Report-Only per vietare script e stili incorporati.
Intestazioni per la cache
Obbligatorie per contenuti statici con lungo periodo di caching e altamente desiderabili per contenuti dinamici con breve periodo di caching.
- Last-Modified
- ETag
- Cache-Control
- Vary
- È importante che il server risponda correttamente agli header: If-Modified-Since e If-None-Match
HTTP/2
Attualmente, il server deve supportare HTTP/2. Per impostazione predefinita, il servizio verifica il funzionamento del server tramite HTTP/2. Se il tuo server non supporta HTTP/2, scegli HTTP/1.1.
Fonte: habr.com
