สำหรับเว็บไซต์ใดๆ สิ่งสำคัญคือต้องกำหนดค่าส่วนหัว HTTP ให้ถูกต้อง มีการเขียนบทความมากมายในหัวข้อพาดหัวข่าว เราได้สรุปประสบการณ์ที่สั่งสมมาและเอกสาร RFC ไว้ที่นี่ หัวข้อบางหัวข้อเป็นหัวข้อบังคับ บางหัวข้อล้าสมัย และบางหัวข้ออาจทำให้เกิดความสับสนและขัดแย้งกัน เราทำกระเป๋าหน้าท้องสำหรับ
- ตั้งค่าส่วนหัวมาตรฐาน
- เพิ่มส่วนหัวที่คุณกำหนดเอง
- ระบุเวอร์ชันโปรโตคอล HTTP: 1.0, 1.1, 2 (ตรวจสอบว่ารองรับ HTTP/2 หรือไม่)
- ระบุวิธีการร้องขอ การหมดเวลา และ postdata ที่จะส่งไปยังเซิร์ฟเวอร์
- beanbag ยังตรวจสอบความถูกต้องของการตอบสนองต่อคำขอ If-Modified-Since, If-None-Match หากการตอบสนองของเซิร์ฟเวอร์มี Last-Modified หรือ ETag
เราไม่เสแสร้งว่าเป็นความจริงขั้นสูงสุด แน่นอนว่าสำหรับเนื้อหาส่วนบุคคลและแต่ละโครงการอาจมีความคลาดเคลื่อนได้ แต่บริการนี้จะบอกคุณอย่างชัดเจนถึงสิ่งที่คุณควรใส่ใจ และอาจเป็นประโยชน์สำหรับคุณในการแก้ไขส่วนหัวของคุณ ด้านล่างนี้คือรายการสิ่งที่บริการตรวจสอบให้ความสำคัญ ทำไมจึงอ่าน
ส่วนหัวที่จำเป็น
- วันที่
- Content-Type ระบุชุดอักขระสำหรับเนื้อหาข้อความ โดยควรเป็น utf-8
- การบีบอัดเนื้อหาการเข้ารหัสสำหรับเนื้อหาข้อความ
ส่วนหัวที่ล้าสมัยและไม่จำเป็น
- เซิร์ฟเวอร์พร้อมเวอร์ชันเว็บเซิร์ฟเวอร์โดยละเอียด
- X-Power-By
- X_ASPNET-เวอร์ชัน
- วันที่หมดอายุ
- pragma
- P3P
- ผ่านทาง
- X-UA-เข้ากันได้
ส่วนหัวที่ต้องการเพื่อความปลอดภัย
- X-เนื้อหา-ประเภท-ตัวเลือก
- X-XSS-การป้องกัน
- เข้มงวด-ขนส่ง-ความปลอดภัย
- นโยบายผู้อ้างอิง
- คุณลักษณะ-นโยบาย
- Content-Security-Policy หรือ Content-Security-Policy-Report-Only เพื่อปิดการใช้งานสคริปต์และสไตล์อินไลน์
ส่วนหัวสำหรับการแคช
บังคับสำหรับเนื้อหาสแตติกที่มีอายุแคชยาวนานและเป็นที่ต้องการอย่างมากสำหรับเนื้อหาไดนามิกที่มีอายุแคชสั้น
- แก้ไขล่าสุด
- อีแท็ก
- การควบคุมแคช
- แตกต่าง
- สิ่งสำคัญคือเซิร์ฟเวอร์จะต้องตอบสนองต่อส่วนหัวอย่างถูกต้อง: If-Modified-Since และ If-None-Match
HTTP / 2
เซิร์ฟเวอร์ควรรองรับ HTTP/2 แล้ว ตามค่าเริ่มต้น บริการจะตรวจสอบการทำงานของเซิร์ฟเวอร์ผ่าน HTTP/2 หากเซิร์ฟเวอร์ของคุณไม่รองรับ HTTP/2 ให้เลือก HTTP/1.1
ที่มา: will.com