Per qualsiasi sito, è fondamentale configurare correttamente le intestazioni HTTP. Molti articoli sono stati scritti sulle intestazioni. Qui abbiamo riassunto l'esperienza accumulata e la documentazione RFC. Alcune intestazioni sono obbligatorie, altre sono obsolete, alcune possono creare confusione e contraddizioni. Abbiamo creato uno strumento per . Diversamente da molti altri servizi che mostrano semplicemente le intestazioni, questo servizio consente di:
- impostare i valori delle intestazioni standard;
- aggiungere le proprie intestazioni personalizzate;
- specificare la versione del protocollo HTTP: 1.0, 1.1, 2 (verifica se HTTP/2 è supportato);
- indicare il metodo della richiesta, il timeout e i dati postdata da inviare al server;
- lo strumento controlla anche la correttezza della risposta alle richieste If-Modified-Since, If-None-Match, se nella risposta del server sono presenti Last-Modified o ETag.
Non pretendiamo di avere l'ultima parola. Per contenuti specifici e per progetti particolari, possono esserci eccezioni. Ma questo servizio indica sicuramente su cosa prestare attenzione; potrebbe esserti utile modificare le tue intestazioni. Di seguito è riportato l'elenco di ciò su cui il servizio di verifica fa attenzione. Perché, leggi .
Intestazioni obbligatorie
- Date
- Content-Type con specifica charset per i contenuti di testo preferibilmente utf-8
- Content-Encoding compressione per i contenuti di testo
Intestazioni obsolete e non necessarie
- Server con 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 cache e altamente desiderabili per contenuti dinamici con breve periodo di cache.
- Last-Modified
- ETag
- Cache-Control
- Vary
- È importante che il server risponda correttamente alle intestazioni: If-Modified-Since e If-None-Match
HTTP/2
Ora il server deve supportare HTTP/2. Di default, il servizio controlla il funzionamento del server su HTTP/2. Se il tuo server non supporta HTTP/2, scegli HTTP/1.1.
Fonte: habr.com
