Sự khác biệt giữa Tải lại Bình thường, Tải lại Tải xuống cứng và Tải lại Bộ nhớ cache trống và Tải lại bộ nhớ cache cứng trong Chrome?


342

Gần đây tôi đã phát hiện ra tính năng mới này trong Chrome:

tải lại tùy chọn

Tôi có thể tìm ra sự khác biệt giữa tùy chọn 1 và tùy chọn 3 và tùy chọn 2 có thể là một cái gì đó ở giữa, nhưng tôi không thể tìm thấy bất kỳ thông tin chính xác hơn ở bất cứ đâu.

Bất cứ ai cũng biết hành vi chính xác của mỗi trong số 3 lựa chọn?


17
Bạn có thể giải thích "tính năng này"? Cụ thể: làm thế nào để bạn truy cập nó? Tôi đã thử tất cả các loại nhấp chuột phải, nhấp chuột kiểm soát, ... nhưng không thể có được. Phiên bản này là gì?
Joachim Sauer

83
@JoachimSauer Haha đó là bí mật nhỏ của tôi ... Nghiêm túc nó rất tốt ẩn: bạn phải nhấn nút refresh mà không phát hành nó ngay lập tức trong khi các nhà phát triển giao diện điều khiển đang hoạt động samuelrossille.com/home/blog-chrome-reload-options.html
Samuel Rossille

11
Cũng xuất hiện bằng cách nhấp chuột phải vào biểu tượng tải lại (trong khi Devtools đang mở)
Costa

7
Cái này có hoạt động với OSX Chrome không? Tôi dường như không thể mở nó thông qua Dev Tools và nhấp chuột phải / nhấp + giữ
nitsujri

6
Tôi chỉ tìm thấy những tính năng này vào năm 2016 một cách tình cờ ...
Edwin Yip

Câu trả lời:


439

Tải lại bình thường

Điều tương tự như bức xúc F5. Điều này sẽ sử dụng bộ đệm nhưng xác nhận lại mọi thứ trong khi tải trang, tìm kiếm phản hồi "304 Không được sửa đổi". Nếu trình duyệt có thể tránh tải xuống lại các tệp JavaScript, hình ảnh, tệp văn bản, v.v. thì nó sẽ.


Tải lại cứng

Không sử dụng bất cứ thứ gì trong bộ đệm khi thực hiện yêu cầu. (tương đương với SHIFT+ F5Không cần mở Bảng điều khiển dành cho nhà phát triển) Buộc trình duyệt tải xuống lại mọi tệp JavaScript, hình ảnh, tệp văn bản, v.v.


Cache trống và tải lại cứng

Rõ ràng, nếu bộ đệm trống thì nó sẽ phải thực hiện tải lại cứng. Điều này một lần nữa sẽ buộc trình duyệt tải xuống lại mọi thứ. Tuy nhiên, nếu trang thực hiện bất kỳ tải xuống thực tế nào thông qua JavaScript không phải là một phần của tải trang, thì những trang này vẫn có thể sử dụng bộ đệm, điều này giúp làm trống bộ đệm vì nó đảm bảo rằng ngay cả những thứ này sẽ không sử dụng tập tin lưu trữ.


Lưu ý : Tính năng này chỉ khả dụng khi các công cụ dành cho nhà phát triển được mở.


49
Có ai biết nếu tùy chọn thứ ba chỉ làm trống bộ đệm cho trang web hiện tại, so với làm trống toàn bộ bộ đệm?
Grinn

10
@Grinn: Thật ra, bây giờ tôi nghĩ về nó, có lẽ đó là toàn bộ bộ đệm. Điểm quan trọng của tính năng đó là xóa các tải xuống sau thực tế, không bị giới hạn chỉ trong một "trang web".
Andrew Rasmussen

13
Tôi không rõ về những gì được coi là một "after-the-fact download via Javascript"? Ai đó có thể cung cấp một ví dụ cụ thể?
Costa

4
@Costa Bạn có thể tải xuống những thứ không được chỉ định ban đầu trong DOM. Ví dụ: bằng cách thêm thẻ <script> mới vào DOM của bạn hoặc bằng cách sử dụng RequireJS, v.v. Bất kỳ thư viện dựa trên AMD nào (như RequireJS) về cơ bản sẽ tải các tập lệnh của nó một cách lười biếng. Trong trường hợp đó, bạn phải làm trống bộ đệm để đảm bảo rằng mọi thứ thực sự được tải lại cứng.
Domi

16
Cần lưu ý rằng điều này chỉ hoạt động nếu các công cụ dành cho nhà phát triển đang mở (F12) Sẽ thật tuyệt nếu đây là một cài đặt luôn có sẵn cho dù công cụ dev có mở hay không.
scunliffe

4

Điều này cũng hoạt động trong Mac OS X. Mở các công cụ dành cho nhà phát triển, và sau đó, trên nút tải lại, hoặc 1. nhấp chuột phụ (nhấp chuột phải cho chuột phải) hoặc 2. nhấp dài, hay nhấn lâu để xem menu.

Ngoài câu trả lời này , tải lại cứng thường khiến proxy, mạng phân phối nội dung và các bộ đệm từ xa khác được làm mới.

nhập mô tả hình ảnh ở đây


Tải lại cứng thường làm cho proxy, mạng phân phối nội dung và bộ nhớ cache từ xa khác được làm mới. → Bạn có thể sao lưu nó? Bạn có bất kỳ trích dẫn giải thích lý do tại sao điều này sẽ là trường hợp? Tôi hy vọng Tải lại cứng sẽ chỉ tải lại tất cả bộ đệm cục bộ và sẽ không có tác dụng bổ sung trên các máy chủ từ xa.
Denilson Sá Maia

Tôi nghĩ rằng các trình duyệt gửi một Cache-Control: no-cachetiêu đề. squid-web-proxy-cache.1019090.n4.nabble.com/. Có phải của bạn không?
dcorking

1
Tôi đã làm một số xét nghiệm ... Going to the URL hoặc sử dụng bình thường Nạp lại gửi 3 tiêu đề bộ nhớ cache liên quan: Cache-Control: max-age=0, If-Modified-Since, If-None-Match. Tuy nhiên, thực hiện Tải lại cứng (có hoặc không làm trống bộ đệm), chỉ có 2 tiêu đề liên quan đến bộ đệm được gửi: Cache-Control: no-cachePragma: no-cache. Vì vậy, yeah, trình duyệt thực sự gửi một tiêu đề yêu cầu máy chủ cho một phiên bản mới; sau đó đến các máy chủ (bao gồm cả proxy) để thay đổi hành vi dựa trên đó.
Denilson Sá Maia

Tuyệt quá! Bạn có thể chỉnh sửa nó thành câu trả lời của tôi, hoặc viết câu trả lời của riêng bạn. @ DenilsonSáMaia
dcorking

0

Phương pháp sau đây cho phép bạn xóa bộ nhớ cache chỉ cho URL gặp rắc rối. Nó giúp tôi khi tôi bị kẹt với bộ đệm chuyển hướng http sang https.

  1. Mở công cụ phát triển Chrome, trong Windows tôi sử dụng F12
  2. Kiểm tra Preserve logđể lưu nhật ký trước khi chuyển hướng
  3. Nhấp chuột phải vào URL được chuyển hướng và Clear browser cache

Điều này sẽ chỉ xóa bộ nhớ cache gặp rắc rối mà không ảnh hưởng đến bộ đệm thông thường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.