3
เหตุใด HTTP จึงไม่เปลี่ยนเส้นทาง POST
การเปลี่ยนเส้นทาง HTTP ทำได้โดยใช้รหัส HTTP 301 และ 302 (อาจเป็นรหัสอื่น) และฟิลด์ส่วนหัวที่เรียกว่า "ตำแหน่ง" ซึ่งมีที่อยู่ของสถานที่ใหม่ที่จะไป อย่างไรก็ตามเบราว์เซอร์จะส่งคำขอ "GET" ไปยัง URL นั้นเสมอ อย่างไรก็ตามหลายครั้งคุณต้องเปลี่ยนเส้นทางผู้ใช้ของคุณไปยังโดเมนอื่นผ่านทาง POST (ตัวอย่างเช่นการชำระเงินธนาคาร) นี่เป็นสถานการณ์ทั่วไปและเป็นข้อกำหนดจริงๆ ไม่มีใครรู้ว่าทำไมความต้องการทั่วไปดังกล่าวจึงถูกเพิกเฉยในข้อกำหนด HTTP วิธีแก้ปัญหาคือการส่งแบบฟอร์ม (พร้อมพารามิเตอร์ในเขตข้อมูลที่ซ่อนอยู่) พร้อมชุดการดำเนินการไปยังตำแหน่งเป้าหมาย (ค่าของฟิลด์ส่วนหัวLocation ) และใช้setTimeoutเพื่อส่งแบบฟอร์มไปยังตำแหน่งเป้าหมาย