Câu trả lời:
Câu trả lời được chấp nhận bởi Farseeker không hoạt động. Tôi đã thử nghiệm điều này trong IIS 7.0.6000.16386 trên Windows Server 2008 Standard SP 2.
Xem bình luận của Jeff Atwood về Stack Overflow cho cùng một câu hỏi .
Etags vẫn ổn miễn là bạn không phục vụ nội dung từ nhiều máy chủ. Nếu bạn chỉ phục vụ từ một máy chủ, thì hãy để chúng ở đó. Họ không đau. Và nếu bạn không muốn YSlow phàn nàn về chúng, thì hãy nhấp vào nút Chỉnh sửa gần phần tử chọn Rulesets và chỉnh sửa cấu hình YSlow (V2). Chỉ cần bỏ chọn tùy chọn "Cấu hình thẻ thực thể (Etags)".
YSlow không phàn nàn rằng họ sai (mặc dù đó là những gì nó nói), nhưng nó phàn nàn rằng họ không cần thiết. Cách duy nhất để khiến YSlow im lặng về việc này là vô hiệu hóa chúng.
Điều tốt là, tôi vừa mới làm điều này sớm hơn ngày hôm nay!
Mở trình quản lý IIS của bạn, nhấp vào máy chủ và đi đến Tiêu đề phản hồi HTTP. Nhấp vào nút "Thêm ..." và dưới tên, nhập:
ETag
(trường hợp nhạy cảm). Trong Giá trị, nhập
""
(đó là hai dấu ngoặc kép)
Và ETags bắt đầu!
Xem một câu hỏi StackOverflow tương tự .
Trong iis 6, bạn có thể thêm tiêu đề tùy chỉnh cho 'ETag' = ""
Trong iis 7, thêm quy tắc viết lại bên ngoài như sau:
<outboundRules>
<rule name="Remove ETag">
<match serverVariable="RESPONSE_ETag" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
IIS 7 sẽ ghi đè lên các tiêu đề tùy chỉnh và tất cả các giải pháp khác được đề xuất trong nhiều câu trả lời khác liên quan đến cùng một vấn đề. Các quy tắc bên ngoài là mục duy nhất có vẻ hoạt động vì nó ghi đè lên bất cứ thứ gì được đặt ngay trước khi trả lại cho người dùng. Quy tắc ra bên ngoài được đề xuất này khớp với bất kỳ biến máy chủ nào có tên RESPONSE_ETag
miễn là giá trị của RESPONSE_ETag
có một hoặc nhiều ký tự và viết lại giá trị thành một chuỗi rỗng.
Vui lòng xem câu trả lời cho Đặt tiêu đề phản hồi của Máy chủ trong IIS7 để biết giải pháp một phần. Vâng, một giải pháp hoàn chỉnh sẽ rất tốt, nhưng tôi sẽ lấy những gì tôi có thể nhận được.
Sử dụng tốt hơn thế này:
<outboundRules>
<rule name="Remove ETag">
<match serverVariable="RESPONSE_ETag" pattern="(.*)\:(.*)" />
<action type="Rewrite" value="{R:1}" />
</rule>
</outboundRules>