ความหมาย
resource มีหลายรูปแบบ (ภาษา ฟอร์แมต) และไคลเอนต์หรือผู้ใช้ควรเลือกหนึ่งรูปแบบ เซิร์ฟเวอร์อาจแนะนำรูปแบบที่ต้องการผ่าน Location
สาเหตุที่พบบ่อย
- การเจรจาเนื้อหาเลือกระหว่างตัวแปรไม่ได้
- เซิร์ฟเวอร์แสดงฟอร์แมตหรือภาษาทางเลือก
วิธีแก้ไข
สำหรับไคลเอนต์หรือผู้เยี่ยมชม
ตาม Location หากมี หรือเลือกจากลิงก์ที่แสดง เบราว์เซอร์ไม่เลือกให้อัตโนมัติ
สำหรับผู้ดูแลเว็บไซต์หรือ API
เลือกใช้การเจรจาฝั่งเซิร์ฟเวอร์ (Accept, Accept-Language) และคืน 200 พร้อมตัวเลือกที่เหมาะที่สุด 300 ไม่ค่อยให้ประสบการณ์ที่ดีที่สุด
ตัวอย่างการตอบกลับ
HTTP/1.1
HTTP/1.1 300 Multiple Choices
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Link: </doc.en.html>; rel=alternate; hreflang=en
Link: </doc.de.html>; rel=alternate; hreflang=de
Content-Length: 0 ข้อกำหนด
คำถามที่พบบ่อย
› เบราว์เซอร์ตาม 300 อัตโนมัติไหม
บางตัวตาม header Location หากมี ไม่เช่นนั้นผู้ใช้จะเห็น body ของหน้าพร้อมตัวเลือก
› 300 เหมาะกับเว็บหลายภาษาไหม
ปกติไม่เหมาะ ให้เปลี่ยนเส้นทางด้วย 302 หรือแสดงภาษาที่ถูกต้องพร้อมลิงก์ hreflang