ความแตกต่างระหว่าง Ctrl + Refresh และ Ctrl + Shift + Refresh หรือไม่


9

ฉันเข้าใจว่าCtrl+ รีเฟรชดึงเนื้อหาใหม่จากเบราว์เซอร์โดยไม่อ่านแคช จากนั้นCtrl+ Shift+ รีเฟรชเพื่ออะไร

Ctrl + รีเฟรชส่วนหัวคำขอเป็นเช่นนี้:

Cache-Control : max-age=0

สำหรับCtrl+ Shift+ รีเฟรช

Pragma : no-cache <br>
Cache-Control : no-cache

ความแตกต่างที่แท้จริงคืออะไร?


4
สิ่งที่เบราว์เซอร์ที่คุณใช้? Ctrl + Shift + F5 ไม่ได้ทำอะไรทั้งใน Firefox 3.5 หรือ IE 6

2
ฉันมักจะคิดว่า CTRL + SHIFT + REFRESH เป็นโปรแกรมเมอร์เขียนกลไกบอกลูกค้าของพวกเขา ...
user2980

@ user2980 ดีคุณผิด :)
RomanSt

คำตอบ:


12

ทั้งสองเหมือนกันกับเบราว์เซอร์ในเครื่องท้องถิ่น ส่วนหัวที่คุณกล่าวถึงเป็นความแตกต่างเท่านั้น

ส่วนหัว Ctrl + Refresh หมายความว่าเซิร์ฟเวอร์แคชใด ๆ ตลอดทางควรส่งสำเนาใหม่ของหน้า

ส่วนหัว Ctrl + Shift + Refresh หมายถึงเซิร์ฟเวอร์แคชใด ๆ ที่อยู่ระหว่างทางควรส่งคืนสำเนาใหม่ของหน้าและไม่ควรแคชหน้าสำหรับคำขอในอนาคต กล่าวอีกนัยหนึ่งเมื่อมีการร้องขอหน้าเว็บในครั้งถัดไปก็ควรใช้แคชก่อนหน้าของหน้าเว็บหรือขอสำเนาใหม่ แต่ไม่ควรใช้หน้านี้

Pragma: no-cache เป็น Cache-Control รุ่น HTTP 1.0: no-cache ไม่มี HTTP 1.0 ที่เทียบเท่ากับการควบคุมแคช: max-age = 0

RFC2616 ส่วนที่ 14 ส่วนที่ 9 มีข้อมูลที่เกี่ยวข้อง: w3c.org: RFC2616 วินาที 14.9.1


1

มีความแตกต่างอื่นและใหญ่ที่

เมื่อคุณกด Ctrl + Refresh สำหรับทุกวัตถุแคชที่มีLast-ModifiedหรือETagส่วนหัวเบราว์เซอร์จะออกคำขอด้วยIf-Modified-SinceหรือIf-None-Matchส่วนหัว เซิร์ฟเวอร์อาจเลือกที่จะตอบกลับด้วย304 Not Modifiedโดยไม่ส่งข้อมูลใด ๆ อีกครั้ง (โดยข้อเท็จจริงแล้วไม่ใช่การแก้ไขข้อมูล)

เมื่อคุณกด Ctrl + Shift + Refresh เบราว์เซอร์จะไม่ออกIf-*ส่วนหัวแบบมีเงื่อนไขดังกล่าวโดยไม่ต้องเลือกเซิร์ฟเวอร์ แต่จะส่งข้อมูลอีกครั้ง

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