เรามีแอปพลิเคชัน Angular + WEB API ซึ่งปรับใช้บน Azure หลังจากการปรับใช้ในปัจจุบัน เราจะเห็นโปรโตคอล SPDY ในแท็บเครือข่าย CHROME (เวอร์ชัน 67.0.3396.99 (รุ่นอย่างเป็นทางการ) (64 บิต)) แต่ก่อนหน้านี้เราสามารถเห็นโปรโตคอล HTTP2 สำหรับคำขอ Web API ได้ ขั้นตอนที่เราต้องปฏิบัติตามเพื่อรับคำขอ HTTP2 กลับ
การเปลี่ยนแปลงโปรโตคอลจาก HTTP2 เป็น SPDY สำหรับ C# WEB API
คำตอบ (1)
น่าสนใจ.
ดูเหมือนว่าจะมีข้อบกพร่องอย่างน้อยหนึ่งรายการ (https://bugs.chromium.org/p/chromium/issues/detail?id=704146) สำหรับทรัพยากรที่แคชไว้ซึ่งอาจอธิบายคำขอสองรายการที่อยู่ตรงกลางของคุณ โดยจะมีสีเทาอ่อนเพื่อแสดงว่ามีการใช้งานทรัพยากรที่แคชไว้
อย่างไรก็ตาม ฉันยังสามารถเห็นสิ่งเดียวกันนี้เกิดขึ้นกับคำขออื่นๆ ไปยังไซต์นั้น (หรือไซต์ที่เกี่ยวข้อง) ทั้งในตัวอย่างของคุณและการทดสอบบางส่วนของฉันเอง
กล่าวโดยสรุป สิ่งเหล่านี้ดูเหมือนจะเป็นข้อผิดพลาดในการแสดงผล แทนที่จะดาวน์โหลดผ่าน SPDY อย่างแท้จริง ดังที่ฉันได้กล่าวไว้ในความคิดเห็นที่ Chrome เลิกใช้ SPDY แล้วและไม่รองรับอีกต่อไป ดังนั้นจึงไม่สามารถเป็น SPDY ได้
คุณสามารถพิสูจน์ได้ด้วยวิธีต่อไปนี้:
เปิดคำขอในแท็บใหม่และคุณจะเห็นการดาวน์โหลดเป็น
h2
หรือhttp/2+quic/
ซึ่งจะแสดงสิ่งที่ควรใช้จริงบนไซต์ที่เป็นปัญหา และนี่คือขั้นตอนที่คุณต้อง "กลับสู่ HTTP2" ในระยะสั้นใช้หน้า chrome://net-internals/#http2 และ chrome://net-internals/#quic แล้วคุณจะเห็นคำขอที่ดาวน์โหลดผ่าน h2 หรือ quic ดังนั้นจึงเป็นเพียงการรายงานโปรโตคอลที่ไม่ถูกต้องไปยังแท็บเครือข่ายเท่านั้น
ตรวจสอบบันทึกของคุณเอง ซึ่งคุณจะเห็นอีกครั้งว่ามีการร้องขอผ่าน HTTP/2 (หรือ QUIC หากคุณรองรับ)
HTTP/2 และ QUIC สร้างขึ้นจากโค้ด SPDY จำนวนมากใน Chrome และดูเหมือนว่าจะยังคงมีการอ้างอิงอยู่ในหลายแห่ง
โดยพื้นฐานแล้วคุณไม่จำเป็นต้องทำอะไรเลย และควรเพิกเฉยต่อมัน หากคุณรู้สึกอย่างยิ่งเกี่ยวกับเรื่องนี้ ให้แจ้งข้อบกพร่องแก่ทีมงาน Chrome หรือแสดงความคิดเห็นหรือติดดาวข้อบกพร่องข้างต้นเพื่อให้คุณเห็นการอัปเดตและเวลาที่แก้ไข