คำถามติดแท็ก http-status-code-304

2
“ 304 Not Modified” ทำงานอย่างไร
มีการสร้างคำตอบ "304 Not Modified" อย่างไร เบราว์เซอร์ตรวจสอบว่าการตอบสนองต่อคำขอ HTTP คือ 304 ได้อย่างไร มันถูกตั้งค่าโดยเบราว์เซอร์หรือส่งจากเซิร์ฟเวอร์? หากส่งจากเซิร์ฟเวอร์เซิร์ฟเวอร์จะทราบข้อมูลที่มีอยู่ในแคชได้อย่างไรและจะกำหนด 304 ภาพอย่างไร ฉันเดาว่าถ้ามันถูกสร้างโดยเบราว์เซอร์: function is_modified() { return get_data_from_cache() === get_data_from_url(); } function get_data_from_cache() { return some_hash_or_xxx_function(cache_data); } function get_data_from_url() { return some_hash_or_xxx_function(new_data); } function some_hash_or_xxx_function(data) { // Do something with the data. // What is that algorithm? return …

5
NodeJS / express: แคชและรหัสสถานะ 304
เมื่อฉันโหลดเว็บไซต์ที่สร้างด้วย Express ซ้ำฉันจะได้รับหน้าว่างพร้อม Safari (ไม่ใช่ใน Chrome) เนื่องจากเซิร์ฟเวอร์ NodeJS ส่งรหัสสถานะ 304 มาให้ฉัน วิธีแก้ปัญหานี้? แน่นอนว่านี่อาจเป็นเพียงปัญหาของ Safari แต่จริงๆแล้วมันทำงานบนเว็บไซต์อื่น ๆ ทั้งหมดได้ดีดังนั้นจึงต้องมีปัญหากับเซิร์ฟเวอร์ NodeJS ของฉันด้วย res.renderในการสร้างหน้าเว็บที่ผมใช้กับหยก อัปเดต:ดูเหมือนว่าปัญหานี้เกิดขึ้นเนื่องจาก Safari ส่ง'cache-control': 'max-age=0'เมื่อโหลดซ้ำ อัปเดต 2:ตอนนี้ฉันมีวิธีแก้ปัญหา แต่มีวิธีแก้ปัญหาที่ดีกว่านี้หรือไม่ วิธีแก้ปัญหา: app.get('/:language(' + content.languageSelector + ')/:page', function (req, res) { // Disable caching for content files res.header("Cache-Control", "no-cache, no-store, must-revalidate"); res.header("Pragma", "no-cache"); res.header("Expires", …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.