עבור כל אתר אינטרנט, חשוב להגדיר כותרות HTTP בצורה נכונה. מאמרים רבים נכתבו בנושא כותרות. כאן סיכמנו את הניסיון המצטבר ואת תיעוד ה-RFC. חלק מהכותרות הן חובה, חלקן מיושנות וחלקן עלולות לגרום לבלבול וסתירות. הכנו עבור תיק בטן
- הגדר את הערך של כותרות סטנדרטיות;
- הוסף כותרות מותאמות אישית משלך;
- ציין את גרסת פרוטוקול ה-HTTP: 1.0, 1.1, 2 (בודק אם HTTP/2 נתמך);
- ציין את שיטת הבקשה, הזמן הקצוב והפוסט-נתונים שיישלחו לשרת;
- הפוף גם בודק את נכונות התגובה לבקשות If-Modified-Since, If-None-Match, אם תגובת השרת מכילה Last-Modified או ETag.
אנחנו לא מתיימרים להיות האמת האולטימטיבית. לתכנים בודדים ולפרוייקטים בודדים ייתכנו כמובן סטיות. אבל שירות זה יגיד לך בדיוק למה אתה צריך לשים לב, וייתכן שיהיה שימושי עבורך לערוך את הכותרות שלך. להלן רשימה של מה ששירות האימות שם לב. למה כן, קרא
כותרות נדרשות
- תַאֲרִיך
- Content-Type המציין תווים עבור תוכן טקסט, רצוי utf-8
- דחיסת קידוד תוכן עבור תוכן טקסט
כותרות מיושנות ומיותרות
- שרת עם גרסת שרת אינטרנט מפורטת
- X-Power-By
- X_ASPNET-גרסה
- פג תוקף
- Pragma
- P3P
- בְּאֶמצָעוּת
- תואם X-UA
כותרות רצויות לאבטחה
- X-Content-Type-Options
- X-XSS-הגנה
- קפדני-תחבורה-אבטחה
- מפנה-מדיניות
- תכונה-מדיניות
- Content-Security-Policy או Content-Security-Policy-Report-Only כדי להשבית סקריפטים וסגנונות מוטבעים.
כותרות לשמירה במטמון
חובה לתוכן סטטי עם חיי מטמון ארוכים ורצוי מאוד לתוכן דינמי עם חיי מטמון קצרים.
- שונה לאחרונה
- ETag
- בקרת מטמון
- וארי
- חשוב שהשרת יגיב נכון לכותרות: If-Modified-Since ו-If-None-Match
HTTP / 2
השרת אמור לתמוך כעת ב-HTTP/2. כברירת מחדל, השירות בודק את פעולת השרת באמצעות HTTP/2. אם השרת שלך אינו תומך ב-HTTP/2, בחר HTTP/1.1.
מקור: www.habr.com