2011-07-23 25 views
15

Tôi đang cố gỡ lỗi một số hành vi phức tạp trong ứng dụng web của mình: Có vẻ như một yêu cầu XHR GET đang được máy khách gửi, nhưng máy chủ không bao giờ thực sự nhận được nó. Hơn nữa, máy khách dường như nhận dữ liệu trùng lặp trong yêu cầu không nhìn thấy như yêu cầu XHR trước đó nó gửi đi.Cách diễn giải các mục màu xám trong bảng điều khiển Firebug Net?

vấn đề gây nhiễu Hơn nữa, Firebug màu sắc theo yêu cầu thứ hai XHR như xám nhạt trong bảng điều khiển Net (theo yêu cầu ở đây là thứ ba từ dưới lên, thứ hai "GET test"):

enter image description here

tôi thiên đường đã không thể tìm thấy bất kỳ tài liệu nào về ý nghĩa của màu này. Tôi nghĩ rằng nếu tôi hiểu điều này, nó có thể giúp giải thích hành vi bất thường này.

Nếu có ai có bất kỳ thông tin chi tiết nào, tôi đánh giá cao nếu bạn có thể cho tôi biết.

Trả lời

18

"Firebug color codes requests that are served from the cache in a lighter gray..."

Vì vậy, lý do máy chủ không thấy yêu cầu là các khách hàng không bao giờ thực sự gửi nó, nó chỉ đơn giản nhận được phản hồi từ bộ nhớ cache của nó. Nếu bạn đang sử dụng jQuery, có một thuộc tính cache mà bạn có thể sử dụng trên ajax() để ngăn chặn các yêu cầu AJAX được lưu vào bộ nhớ cache. Nếu bạn không sử dụng jQuery, bạn có thể nối thêm một tham số giả vào cuối URL yêu cầu có giá trị của thời gian hiện tại tính bằng mili giây (điều này thực tế là tôi nghĩ gì về jQuery).

url + "?v=" + (new Date()).getMilliseconds() 

Điều này phải đảm bảo URL luôn là duy nhất và ngăn trình duyệt sử dụng bộ nhớ đệm.

+0

+1 dù sao có điều gì đó mà tôi vẫn không hiểu. Khi bạn đóng và mở lại Firefix trên cùng một trang mà bạn đã xem trước đó, Firefox sẽ tạo tất cả các yêu cầu màu xám đó (theo liên kết của bạn, đó là các yêu cầu được gửi tới bộ đệm và không phải cho máy chủ). Nhưng khi bạn điều hướng cùng một trang web từ trang này sang trang khác thì Firefox thậm chí không thực hiện yêu cầu màu xám đó. Điều này thực sự làm tôi bối rối, nếu những tệp đó luôn được lưu trong bộ nhớ cache, tại sao Firefox lại hoạt động khác? Xem câu hỏi của tôi: http://stackoverflow.com/questions/10048740/ –

+0

Firefox thực hiện hai loại bộ đệm. Bộ nhớ cache HTTP và bộ đệm ẩn Chuyển tiếp. Xem http://www.softwareishard.com/blog/firebug/firebug-16-tracking-also-bfcache-reads/. Chỉ đọc BFCache hiện được hiển thị bằng màu xám. –

+0

Hoặc bạn có thể chỉ ra tuổi thọ dự kiến ​​của mỗi thực thể trong tiêu đề HTTP kiểm soát bộ nhớ cache. Hoặc đặt đủ thông tin trong URL để xác định thực thể duy nhất, khai thác bộ nhớ đệm nếu điều tương tự được yêu cầu sau đó. – Szocske

Các vấn đề liên quan