ฉันพยายามที่จะเพิ่ม อีแท็ก
การยืนยันแคชตามเว็บแอปที่ฉันพัฒนาซึ่งทำงานบน Apache ผ่านพร็อกซีย้อนกลับ NGINX เว็บแอปเขียนด้วยภาษา Perl ในสคริปต์ Perl ฉันจะตรวจสอบ $ENV{'HTTP_IF_NONE_MATCH'}
ส่วนหัวแล้วทดสอบ อีแท็ก
ในนั้นถ้ามีอยู่ หากฉันเข้าถึงแอปผ่าน cURL มันใช้งานได้:
timothybutler@timothys-MacBook-Pro ~ % curl -I https://server/resource/podcast/20211101.mp3
HTTP/1.1 200 ตกลง
เซิร์ฟเวอร์: nginx/1.21.4
วันที่: วันศุกร์ที่ 12 พฤศจิกายน 2021 18:06:37 GMT
ประเภทเนื้อหา: เสียง/mpeg
ความยาวเนื้อหา: 16665729
การเชื่อมต่อ: มีชีวิตอยู่
Surrogate-Control: ไม่มีแคช
การควบคุมแคช: ส่วนตัว อายุสูงสุด=864000
ชื่อแท็ก: "1635825322"
การให้นั้น อีแท็ก
กลับทาง cURL ฉันได้รับผลลัพธ์ที่คาดหวัง:
timothybutler@timothys-MacBook-Pro ~ % curl -H 'ถ้าไม่มีตรงกัน: "1635825322"' -I https://server/resource/podcast/20211101.mp3
HTTP/1.1 304 ไม่มีการแก้ไข
เซิร์ฟเวอร์: nginx/1.21.4
วันที่: วันศุกร์ที่ 12 พฤศจิกายน 2021 18:19:29 GMT
การเชื่อมต่อ: มีชีวิตอยู่
การควบคุมแคช: ส่วนตัว อายุสูงสุด=864000
ชื่อแท็ก: "1635825322"
อย่างไรก็ตาม กระบวนการจะพังหากฉันลองใช้ใน Chrome แทน Chrome รายงานการส่ง ถ้าไม่มีตรงกัน: "1635825322"
เป็นหนึ่งในส่วนหัวเมื่อฉันรีเฟรชหน้า แต่เซิร์ฟเวอร์ของฉันไม่ได้ตั้งค่า HTTP_IF_NONE_MATCH
ตัวแปรด้านสิ่งแวดล้อมสำหรับคำขอนั้นตรงข้ามกับตัวแปรที่เข้ามาทาง cURL ถ้าฉันทิ้งแฮช %ENV ทั้งหมด ถ้าตรงกันไม่มี
ส่วนหัวและของมัน อีแท็ก
ไม่ปรากฏในรูปแบบใดๆ เมื่อ Chrome ออกคำขอ