Jebkuram vietnē ir svarīgi pareizi konfigurēt HTTP galvenes. Par galvenēm ir uzrakstīts daudz rakstu. Šeit mēs esam apkopojuši uzkrāto pieredzi, RFC dokumentāciju. Dažas no galvenēm ir obligātas, dažas novecojušas, bet dažas var radīt neskaidrības un pretrunas. Mēs izveidojām rīku . Atšķirībā no daudziem citiem pakalpojumiem, kas vienkārši rāda galvenes, šis pakalpojums ļauj:
- noteikt tipisko galvenu vērtības;
- pievienot savas pielāgotās galvenes;
- norādīt HTTP protokola versiju: 1.0, 1.1, 2 (pārbauda, vai tiek atbalstīts HTTP/2);
- norādīt pieprasījuma metodi, gaidīšanas laiku un postdata datus, ko nosūtīt serverim;
- tāpat rīks pārbauda atbilstošu atbildi uz pieprasījumiem If-Modified-Since, If-None-Match, ja servera atbildē ir Last-Modified vai ETag.
Nepieciešams piezīmēt, ka mēs nepretendējam uz patiesību pēdējā instancē. Noteiktam saturam un konkrētiem projektiem, protams, var būt novirzes. Taču šis pakalpojums noteikti norādīs, uz ko jāpievērš uzmanība, iespējams, jūs vēlēsieties rediģēt savas galvenes. Tālāk sniegts saraksts ar to, uz ko pievērš uzmanību pārbaudes pakalpojums. Kāpēc tā, lasiet .
Obligātās galvenes
- Date
- Content-Type ar charset norādījumu tekstu saturam vēlams utf-8
- Content-Encoding kompresija tekstu saturam
Novecojušas un nevajadzīgas galvenes
- Server ar detalizētu tīmekļa servera versiju
- X-Power-By
- X_ASPNET-Version
- Expires
- Pragma
- P3P
- Via
- X-UA-Compatible
Vēlamās galvenes drošībai
- X-Content-Type-Options
- X-XSS-Protection
- Strict-Transport-Security
- Referrer-Policy
- Feature-Policy
- Content-Security-Policy vai Content-Security-Policy-Report-Only, lai aizliegtu iebūvētus skriptus un stilus.
Galvenes kešošanai
Ir obligātas statiskam saturam ar garu kešošanas laiku un pētniekiem vēlams dinamiskiem datiem ar īsu kešošanas laiku.
- Last-Modified
- ETag
- Cache-Control
- Vary
- Ir svarīgi, lai serveris pareizi atbildētu uz galvenēm: If-Modified-Since un If-None-Match
HTTP/2
Tagad serverim jāatbalsta HTTP/2. Noklusējuma rīks pārbauda servera darbību pēc HTTP/2. Ja jūsu serveris neatbalsta HTTP/2, izvēlieties HTTP/1.1.
Avots: habr.com
