หากฉันแสดงเฉพาะเนื้อหาในเวอร์ชัน gzipped ฉันควรเพิ่มส่วนหัวการเข้ารหัสที่หลากหลายยอมรับ


11

ฉันเพิ่งย้ายไซต์แบบคงที่จาก VPS ไปยัง Amazon S3 ฉันตัดสินใจที่จะให้บริการเฉพาะหน้าเว็บในเวอร์ชัน gzipped เนื่องจาก S3 ไม่ใช่เว็บเซิร์ฟเวอร์ฉันไม่สามารถใช้ตรรกะตามส่วนหัวได้ ฉันยังใช้ Cloudfront เป็น CDN

ฉันถูกทดสอบหน้าของฉันกับhttp://gtmetrix.com/vary accept encoding headerและได้ทราบดีเพราะผมไม่ได้เพิ่ม ดังนั้นฉันจึงตรวจสอบสิ่งนี้เกี่ยวกับและเท่าที่ฉันเข้าใจมันเหมาะสมเมื่อเราให้บริการทั้งรุ่นบีบอัดและไม่บีบอัด

ดังนั้นฉันต้องการให้คุณช่วยฉันอธิบายเรื่องนี้ ฉันควรจะเพิ่มหรือไม่ ขอบคุณ :)

คำตอบ:


7

ฉันตัดสินใจที่จะให้บริการเฉพาะหน้าเว็บในเวอร์ชัน gzipped

หากคุณกำลังให้บริการเท่านั้นไฟล์ที่คุณบีบอัดโดยใช้gzipแล้วใช้Vary: Accept-Encodingจะเป็นประโยชน์ตั้งแต่จะไม่มีสำเนาไม่มีการบีบอัดไฟล์ที่จะให้บริการกับลูกค้าที่ไม่ได้ส่งAccept-Encoding: gzipในคำขอ HTTP ลูกค้าส่วนใหญ่วันนี้ส่งสิ่งนี้ดังนั้นคุณควรจะดี

การทดสอบประสิทธิภาพเว็บไซต์ออนไลน์ไม่ทราบว่าคุณให้บริการไฟล์ที่ถูกบีบอัดเท่านั้นและพวกเขาก็ไม่ได้พิสูจน์ด้วยเช่นกัน คุณอาจสังเกตเช่นบริการที่คุณใช้แสดงรายการเหล่านี้ใต้คอลัมน์ที่มีป้ายกำกับRECOMMENDATIONดังนั้นจึงควรติดตามข้อเสนอแนะใด ๆ เช่นนี้พร้อมกับการค้นหาข้อเท็จจริง (เหมือนที่คุณทำ) ก่อนที่จะกังวลเกินไปหรือพยายามนำไปใช้


ฉันต้องการเพิ่มความสงสัยของฉันมาจากโพสต์นี้: maxcdn.com/blog/accept-encoding-its-vary-important
Kev

คุณไม่เป็นไร. บทความนั้นกล่าวถึงการใช้Vary: Accept-Encodingบนเซิร์ฟเวอร์ต้นทางด้วย CDN ตามที่คุณระบุไว้เซิร์ฟเวอร์ต้นทางของคุณไม่ได้ให้สิ่งนี้และไม่จำเป็นอีกต่อไปเนื่องจาก Google อ้างอิงที่นี่ : All modern browsers support and automatically negotiate gzip compression for all HTTP requests.ดังนั้นพวกเขาจึงแนะนำให้ใช้gzipในทุกไซต์ บทความนั้น (จาก 2/2013) เพียงแค่สหรัฐฯ: These days you're unlikely to have clients without compression, but why risk cache mixups?...
แดน

1
เนื่องจากคุณให้บริการไฟล์ที่ถูกบีบอัดเท่านั้นแต่ "การรวมแคช" (เช่นจากไฟล์เดียวกันที่ไม่มีการบีบอัด) จะไม่มีผลกับสถานการณ์ของคุณ
แดน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.