อะไรคือความแตกต่างระหว่าง "โหลดซ้ำปกติ", "โหลดซ้ำยาก" และ "ล้างข้อมูลแคชและฮาร์ดโหลดซ้ำ" ใน Chrome


343

ฉันเพิ่งค้นพบคุณสมบัติใหม่นี้ใน Chrome:

ตัวเลือกโหลดซ้ำ

ฉันสามารถเข้าใจความแตกต่างระหว่างตัวเลือกที่ 1 และตัวเลือกที่ 3 และตัวเลือกที่ 2 อาจเป็นสิ่งที่อยู่ในระหว่าง แต่ฉันไม่สามารถหาข้อมูลที่แม่นยำมากขึ้นได้ทุกที่

มีใครรู้พฤติกรรมที่แม่นยำของตัวเลือกทั้งสามนี้ใช่ไหม


17
คุณช่วยอธิบาย "คุณสมบัตินี้" ได้ไหม? โดยเฉพาะ: คุณเข้าถึงได้อย่างไร? ฉันลองใช้การคลิกขวาทุกครั้งการควบคุมการคลิก ... แต่ไม่สามารถทำได้ รุ่นนี้คืออะไร?
Joachim Sauer

83
@JoachimSauer ฮ่า ๆ นั่นเป็นความลับเล็ก ๆ น้อย ๆ ของฉัน ... มันซ่อนไว้อย่างดีมาก: คุณต้องกดปุ่มรีเฟรชโดยไม่ต้องเปิดมันทันทีในขณะที่คอนโซลของนักพัฒนาแอ็คทีฟ samuelrossille.com/home/blog-chrome-reload-options.html
Samuel Rossille

11
นอกจากนี้ยังปรากฏขึ้นโดยคลิกขวาที่ไอคอนโหลด (ในขณะที่ Devtools เปิด)
Costa

7
ใช้งานได้กับ OSX Chrome หรือไม่ ฉันไม่สามารถเปิดผ่านเครื่องมือ Dev และคลิกขวา / คลิก + ค้างไว้
nitsujri

6
ฉันเพิ่งพบคุณสมบัติเหล่านี้ในปี 2559 โดยไม่ได้ตั้งใจ ...
Edwin Yip

คำตอบ:


439

โหลดซ้ำตามปกติ

F5สิ่งที่เหมือนกับการกดปุ่ม การดำเนินการนี้จะใช้แคช แต่ทำการตรวจสอบความถูกต้องทุกอย่างอีกครั้งระหว่างการโหลดหน้าเว็บโดยมองหาคำตอบ "304 Not Modified" หากเบราว์เซอร์สามารถหลีกเลี่ยงการดาวน์โหลดไฟล์ JavaScript, รูปภาพ, ไฟล์ข้อความ ฯลฯ ได้อีก


โหลดซ้ำยาก

อย่าใช้อะไรในแคชเมื่อทำการร้องขอ (ซึ่งเท่ากับSHIFT+ F5ไม่จำเป็นต้องเปิดคอนโซลนักพัฒนาซอฟต์แวร์) บังคับให้เบราว์เซอร์ทำการดาวน์โหลดไฟล์ JavaScript, รูปภาพ, ไฟล์ข้อความ ฯลฯ ทุกครั้ง


แคชว่างเปล่าและโหลดซ้ำอย่างหนัก

เห็นได้ชัดว่าถ้าแคชว่างเปล่ามันจะต้องทำการโหลดซ้ำอย่างหนัก นี่จะบังคับให้เบราว์เซอร์ดาวน์โหลดทุกสิ่งอีกครั้ง อย่างไรก็ตามหากหน้าดังกล่าวทำการดาวน์โหลด after-the-fact ผ่านทาง JavaScript ซึ่งไม่ได้เป็นส่วนหนึ่งของการโหลดหน้าเว็บเหล่านี้อาจยังคงใช้แคชซึ่งเป็นสาเหตุที่ทำให้แคชว่างเพราะช่วยให้แน่ใจได้ว่าแม้สิ่งเหล่านี้จะไม่ใช้ ไฟล์แคช


หมายเหตุ : คุณสมบัตินี้จะใช้ได้เฉพาะเมื่อเครื่องมือสำหรับนักพัฒนาเปิดอยู่


49
ไม่มีใครรู้ว่าตัวเลือกที่สามเพียงแค่ล้างแคชสำหรับเว็บไซต์ปัจจุบันเทียบกับการล้างแคชทั้งหมดหรือไม่
Grinn

10
@Grinn: จริง ๆ แล้วตอนนี้ฉันคิดว่ามันอาจเป็นแคชทั้งหมด จุดสำคัญของคุณลักษณะนั้นคือการล้างการดาวน์โหลดในภายหลังซึ่งไม่ได้ จำกัด อยู่เพียงแค่ "ไซต์" เพียงไซต์เดียว
Andrew Rasmussen

13
ฉันไม่ชัดเจนในสิ่งที่ถือว่าเป็น"after-the-fact download via Javascript"? ใครสามารถให้ตัวอย่างที่เป็นรูปธรรมได้บ้าง
Costa

4
@Costa คุณสามารถดาวน์โหลดสิ่งที่ไม่ได้ระบุในตอนแรกได้ ตัวอย่างเช่นโดยการเพิ่มแท็ก <script> ใหม่ไปยัง DOM ของคุณหรือโดยใช้ RequireJS เป็นต้นไลบรารีใด ๆ ที่ใช้ AMD (เช่น RequireJS) นั้นโหลดสคริปต์อย่างเกียจคร้าน ในกรณีนี้คุณต้องล้างแคชเพื่อให้แน่ใจว่าทุกอย่างได้รับการโหลดซ้ำอย่างหนัก
Domi

16
ควรสังเกตว่าวิธีนี้ใช้ได้เฉพาะในกรณีที่เครื่องมือสำหรับนักพัฒนาเปิด (F12) มันจะดีถ้านี่เป็นการตั้งค่าที่สามารถใช้งานได้เสมอโดยไม่คำนึงว่าเครื่องมือ dev นั้นเปิดอยู่หรือไม่
scunliffe

4

สิ่งนี้ยังใช้งานได้ใน Mac OS X เปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์จากนั้นกดปุ่ม reload เช่น 1. คลิกรอง (คลิกขวาสำหรับเมาส์ที่ถนัดขวา) หรือ 2. คลิกยาวหรือกดยาวหรือกดเพื่อดูเมนู

นอกเหนือจากคำตอบนี้การรีโหลดอย่างหนักมักทำให้พร็อกซีเครือข่ายการส่งเนื้อหาและแคชระยะไกลอื่น ๆ ได้รับการรีเฟรช

ป้อนคำอธิบายรูปภาพที่นี่


“ การรีโหลดอย่างหนักมักทำให้พร็อกซีเครือข่ายการส่งเนื้อหาและแคชระยะไกลอื่น ๆ ได้รับการฟื้นฟู” →คุณสามารถสำรองข้อมูลได้หรือไม่ คุณมีการอ้างอิงใด ๆ ที่อธิบายว่าทำไมถึงเป็นเช่นนี้? ฉันคาดว่าฮาร์ดโหลดจะโหลดแคชภายในเครื่องทั้งหมดอีกครั้งและจะไม่มีผลเพิ่มเติมกับเซิร์ฟเวอร์ระยะไกล
Denilson Sá Maia

ฉันคิดว่าเบราว์เซอร์ส่งCache-Control: no-cacheส่วนหัว squid-web-proxy-cache.1019090.n4.nabble.com/ ของคุณหรือไม่
dcorking

1
ผมได้มีการทดสอบบางอย่าง ... ไป URL หรือใช้ปกติโหลดส่ง 3 หัวแคชที่เกี่ยวข้องกับ: Cache-Control: max-age=0, ,If-Modified-Since If-None-Matchแต่การทำเช่นฮาร์ดโหลด (มีหรือโดยไม่ต้องล้างแคช) เพียง 2 หัวแคชที่เกี่ยวข้องกับการถูกส่ง: และCache-Control: no-cache Pragma: no-cacheใช่แล้วเบราว์เซอร์จะส่งส่วนหัวที่ขอเซิร์ฟเวอร์สำหรับรุ่นใหม่ มันขึ้นอยู่กับเซิร์ฟเวอร์ (รวมถึงพร็อกซี) เพื่อเปลี่ยนพฤติกรรมตามนั้น
Denilson Sá Maia

ที่ดี! คุณสามารถแก้ไขมันเป็นคำตอบของฉันหรือเขียนคำตอบของคุณเอง @ DenilsonSáMaia
dcorking

0

วิธีการต่อไปนี้ให้คุณล้างแคชสำหรับ URL ที่มีปัญหาเท่านั้น มันช่วยฉันเมื่อฉันติดกับ http เพื่อเปลี่ยนเส้นทางแคชแคช

  1. เปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Chrome ใน Windows ที่ฉันใช้ F12
  2. ตรวจสอบPreserve logเพื่อบันทึกล็อกก่อนการเปลี่ยนเส้นทาง
  3. คลิกขวาที่ URL ที่ถูกเปลี่ยนเส้นทางและ Clear browser cache

การทำเช่นนี้จะล้างเฉพาะแคชที่มีปัญหาโดยไม่กระทบกับแคชปกติ

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