การใช้สถานะ HTTP 308 การเปลี่ยนเส้นทางถาวรปลอดภัยหรือไม่


11

การใช้รหัสสถานะ HTTP 308 การเปลี่ยนเส้นทางถาวร ( คำแนะนำ ) ในการตอบกลับเซิร์ฟเวอร์ปลอดภัยหรือไม่? ปัญหาของ 301 Moved อย่างถาวรคือทำงานได้กับคำขอ GET เท่านั้น (เพื่อความเป็นธรรม: POST จะเปลี่ยนเป็น GET ซึ่งไม่ใช่ตัวเลือก)

รหัสสถานะใหม่มากใน "เวลา RFC" ดังนั้นคุณจะแนะนำอะไร

เบราว์เซอร์จะทำอะไรถ้าไม่ทราบ 308 มันจะหาสถานที่และทำ 302?


ใหม่กว่าที่คุณรู้ตัว มันเป็น RFC ในขณะนี้
Michael Hampton

1
คุณอ่านหัวข้อการพิจารณาการปรับใช้แล้วหรือยัง
Håkan Lindqvist

308 ไม่ใช่มาตรฐาน - เป็นข้อเสนอที่ยังอยู่ในขั้นทดลอง Browers ควรถอยกลับไปที่การตีความ 300 ข้อผิดพลาด 301-399 ใด ๆ ที่พวกเขาไม่เข้าใจเป็นพิเศษ
Chris S

1
ในสถานการณ์ใดที่คุณคาดว่าจะได้รับคำขอ POST ที่ส่งไปยัง URL ที่ล้าสมัยโดยตรง
Skyhawk

1
@Skyhawk: ฉันทำงานกับคุณสมบัติออฟไลน์ "ของ" html5 สำหรับความคิดเห็นหรือการสร้างโพสต์ใหม่ URL เป้าหมายอาจมีการเปลี่ยนแปลงเนื่องจากมีการดัดแปลงโพสต์ของตัวเองออกเป็นหมวดหมู่
burnersk

คำตอบ:


4

แม้ว่าตอนนี้ 308 จะเป็นมาตรฐาน ( https://tools.ietf.org/html/rfc7538 ) แต่ขณะนี้ยังไม่ปลอดภัย [แก้ไข] (ณ วันที่ 3 เมษายน 2019) โดยเฉพาะอย่างยิ่งสำหรับแอปพลิเคชันเดสก์ท็อป แต่อาจจะปลอดภัยในบางส่วน ภูมิภาคเฉพาะ (เช่นอินเดีย) หรือสำหรับแอปพลิเคชันที่กำหนดเป้าหมายที่แท็บเล็ตและอุปกรณ์มือถือ

การขาดความปลอดภัยเป็นเพราะ IE 11 บน Windows 7 และ 8.1 ไม่รองรับ ใน IE 11 ไซต์ดูเหมือนจะหยุดทำงาน โชคดีที่ IE ที่มาพร้อมกับ Windows 10 รองรับดังนั้นมันจะเป็นเพียงกรณีของการรอจนกว่าการเคลื่อนย้ายที่มีประชากรทั่วไปจาก Windows 7 (Win 7 เพิ่งถูกแซงหน้าโดย Win 10 ในสถิติการใช้งานทั่วโลกเท่านั้น Win 8 เป็นอย่างมาก ได้รับความนิยมน้อยกว่าทั้งสองอย่าง [แก้ไข] หรือ บริษัท ของคุณตัดสินใจที่จะไม่สนับสนุนอีกต่อไป (ซึ่งคุณสามารถสร้างกรณีที่แข็งแกร่งมากสำหรับวันที่ 14 มกราคม 2020 เมื่อWindows 7 สูญเสียการสนับสนุนระยะยาว )

เบราว์เซอร์ที่ทันสมัยอื่น ๆ ทั้งหมดรองรับ (Chrome, Firefox, Safari, Edge, Opera)

[แก้ไข] สถิติการใช้งานตั้งแต่มีนาคม 2019 เพื่อช่วยในการตัดสินใจ:

  • ผู้ใช้เดสก์ท็อป 36.52% ยังคงอยู่บน Windows 7
  • ผู้ใช้เดสก์ท็อป 9.83% ใช้ IE ในฐานะที่เป็น Win10 ผลักดัน Edge มากฉันคิดว่าผู้ใช้เหล่านี้ส่วนใหญ่จะอยู่ใน Win 7 Ref netmarketshare

ดังนั้นการตัดสินใจใช้ 308 อาจส่งผลกระทบต่อ (ผู้ใช้เดสก์ท็อปของฉันตามสถิติด้านบน) ระหว่าง 5 ถึง 9% ของผู้ใช้เดสก์ท็อป ณ การแก้ไขนี้ (3/4/2019) หากแอปพลิเคชันของคุณมุ่งไปที่แท็บเล็ต / อุปกรณ์มือถือมากขึ้นค่านี้จะลดลงอย่างมีนัยสำคัญ ในทำนองเดียวกันหากแอปของคุณมีเฉพาะสำหรับตลาดอินเดีย

คุณสามารถทดสอบว่าเบราว์เซอร์ของคุณรองรับการเปลี่ยนเส้นทาง 308 หรือไม่ที่นี่: https://webdbg.com/test/308/


โปรดทราบว่านี่แตกต่างจาก 307 IE 11 บน Windows 7 รองรับ HTTP 307 โดยไม่มีปัญหา (ทำไม?)
Franklin Yu

7

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308

ข้อเสนอ RFC 7538 ได้รับการสนับสนุนอย่างกว้างขวางในปัจจุบัน มันปลอดภัย.

308 แทน 301 307 แทน 302

ย้าย! = เปลี่ยนเส้นทาง

การย้ายจะเตือนที่อยู่เฉพาะและ / หรือการย้ายไฟล์ การเปลี่ยนเส้นทางเป็นที่ตั้งหรือที่อยู่ใหม่


1
ณ ตอนนี้ (20 ก.พ. 2018) ยังไม่ปลอดภัยเนื่องจากจำนวนผู้ใช้บน Windows 7 ที่ใช้ IE 11 ซึ่งยังไม่รองรับ
monty

@ เดือนหมายเลขนั้นคืออะไร? ตอนนี้คืออะไร
Robin Winslow

ตั้งแต่เดือนมีนาคม 2562 ผู้ใช้เดสก์ท็อป 36.52% ยังคงใช้งานบน Windows 7 และผู้ใช้เดสก์ท็อปอยู่บน 9.83%
monty

2

หากต้องการสิ้นสุดสิ่งนี้: ไม่ปลอดภัยสำหรับการใช้รหัสสถานะ ดูความคิดเห็นเพื่อดูรายละเอียด

308 ไม่ใช่มาตรฐาน - เป็นข้อเสนอที่ยังอยู่ในขั้นทดลอง Browers ควรถอยกลับไปที่การตีความ 300 ข้อผิดพลาด 301-399 ใด ๆ ที่พวกเขาไม่เข้าใจเป็นพิเศษ

เบราว์เซอร์บางตัวล้มเหลวอย่างสมบูรณ์ในรหัสสถานะนั้น


1
คำตอบนี้ล้าสมัย ผมเชื่อว่า RFC ที่ได้รับการยอมรับและมีการใช้งานเบราว์เซอร์ที่ทันสมัยdeveloper.mozilla.org/en-US/docs/Web/HTTP/Status/308 อย่างไรก็ตามหากคุณต้องการการสนับสนุนจากเบราว์เซอร์รุ่นเก่านี่อาจเป็นปัญหา!
Yahya Uddin

3
มันไม่ทำงานใน IE11 บน Win8.1 และต่ำกว่า (ทำงานบน Win10)
Bart Verkoeijen

tools.ietf.org/html/rfc7538 "รหัสสถานะโพรโทคอลการโอนย้าย Hypertext 308 (การเปลี่ยนเส้นทางถาวร)" เผยแพร่ในเดือนเมษายน 2558
Patrick Mevzek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.