Tôi có một ứng dụng sử dụng phông chữ glyph của FontAwesome cho các biểu tượng và mọi thứ hoạt động tốt khi tôi lưu trữ các tệp từ máy chủ của mình. Khi tôi bật hỗ trợ CDN trên trang web của mình, IE 11 hoạt động khá kỳ lạ liên quan đến các tệp phông chữ. Khi điều hướng đến một trang bằng cách nhấp vào liên kết hoặc nhập URL theo cách thủ công, các tệp phông chữ sẽ tải tốt ~ 95% thời gian. Nếu tôi tải lại trang hoặc sử dụng nút chuyển tiếp/quay lại (hoặc ~ 5% thời gian tải trang bình thường không hoạt động), IE 11 tải tệp phông chữ đầu tiên, mất/giảm/bỏ qua nội dung của phản hồi bằng cách nào đó , cố gắng tải tệp thứ hai, mất nội dung của nội dung phản hồi, rửa-rửa lại, và tôi kết thúc bằng không có phông chữ glyph. Tất cả các trình duyệt khác (bao gồm cả các phiên bản cũ của IE) đều hoạt động tốt.IE 11 không tải được các tệp tài nguyên
@font-face
khai trong CSS:
@font-face {
font-family: 'FontAwesome';
src: url('/common/fonts/fontawesome-webfont.eot');
src: url('/common/fonts/fontawesome-webfont.eot?#iefix') format('embedded-opentype'),
url('/common/fonts/fontawesome-webfont.woff') format('woff'),
url('/common/fonts/fontawesome-webfont.ttf') format('truetype'),
url('/common/fonts/fontawesome-webfont.svg#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
tải trang bình thường:
Tóm tắt:
URL Protocol Method Result Type Received Taken Initiator Wait Start Request Response Cache read Gap
/common/fonts/fontawesome-webfont.eot HTTPS GET 200 application/octet-stream 99.78 KB 109 ms @font-face 2449 0 47 62 0 1420
tiêu đề đáp ứng:
Key Value
Response HTTP/1.1 200 OK
Content-Type application/octet-stream
Last-Modified Mon, 04 Aug 2014 12:49:48 GMT
Accept-Ranges bytes
ETag "07ef492e2afcf1:0"
Server Microsoft-IIS/7.5
P3P CP="NON DSP COR ADM DEV PSA IVA CONi TELi OUR BUS NAV"
Access-Control-Allow-Origin *
Content-Length 101712
Expires Mon, 15 Sep 2014 18:48:40 GMT
Cache-Control max-age=0, no-cache, no-store
Pragma no-cache
Date Mon, 15 Sep 2014 18:48:40 GMT
Connection keep-alive
cơ thể đáp ứng tiếp tệp phông chữ ains.
Trên trang tải lại:
Tóm tắt:
URL Protocol Method Result Type Received Taken Initiator Wait Start Request Response Cache read Gap
/common/fonts/fontawesome-webfont.eot HTTPS GET 200 application/octet-stream 462 B 47 ms @font-face 983 0 47 0 0 1248
/common/fonts/fontawesome-webfont.woff HTTPS GET 200 application/x-font-woff 461 B 63 ms @font-face 1092 0 63 0 0 1123
/common/fonts/fontawesome-webfont.ttf HTTPS GET 200 application/octet-stream 462 B 93 ms @font-face 1155 15 78 0 0 1030
tiêu đề đáp ứng (đối với "fontawesome-webfont.eot", những người khác đều giống nhau, ngoại trừ sự khác biệt về nội dung dài, chiếm sự khác biệt về kích thước tệp):
Key Value
Response HTTP/1.1 200 OK
Content-Type application/octet-stream
Last-Modified Mon, 04 Aug 2014 12:49:48 GMT
Accept-Ranges bytes
ETag "07ef492e2afcf1:0"
Server Microsoft-IIS/7.5
P3P CP="NON DSP COR ADM DEV PSA IVA CONi TELi OUR BUS NAV"
Access-Control-Allow-Origin *
Content-Length 101712
Expires Mon, 15 Sep 2014 19:05:13 GMT
Cache-Control max-age=0, no-cache, no-store
Pragma no-cache
Date Mon, 15 Sep 2014 19:05:13 GMT
Connection keep-alive
Nội dung phản hồi trống. Lưu ý rằng độ dài nội dung trong chi tiết không khớp với giá trị "đã nhận" trong tóm tắt.
Theo nhật ký CDN và lưu lượng truy cập theo dõi cục bộ trong Fiddler2, các tệp phông chữ đầy đủ đang được CDN phân phối. Gần như tôi có thể nói, phản hồi từ CDN giống với phản hồi từ máy chủ của tôi. Bật tính năng lưu vào bộ nhớ đệm dường như loại bỏ hiệu ứng (ít nhất, tôi không thể tạo lại bộ đệm với bộ nhớ đệm được bật), nhưng các Quyền hạn sẽ lo ngại rằng điều này sẽ ảnh hưởng đến các nội dung khác, không thể lưu vào bộ nhớ cache trong ứng dụng dưới dạng nhiều hơn được chuyển sang CDN, và do đó tôi phải tìm nguyên nhân gốc rễ và sửa chữa nó thay vì tát một băng trợ giúp trên nó.
Tại sao IE 11 hoạt động như thể các câu trả lời có nội dung phản hồi trống? Tại sao IE 11 có thể xử lý phản hồi từ CDN khác với phản hồi từ máy chủ ứng dụng, nếu các tệp và tiêu đề phản hồi giống nhau không?