HTTP 302

จากวิกิพีเดีย สารานุกรมเสรี
ข้ามไปที่การนำทาง ข้ามไปที่การค้นหา

HTTPตอบสนองรหัสสถานะ 302 พบเป็นวิธีการทั่วไปในการดำเนินการเปลี่ยนเส้นทาง URL ข้อกำหนด HTTP/1.0 (RFC 1945) เริ่มแรกกำหนดรหัสนี้ และให้วลีคำอธิบาย "ย้ายชั่วคราว" แทนที่จะเป็น "พบ"

การตอบสนอง HTTP ด้วยรหัสสถานะนี้นอกจากจะให้URLในฟิลด์ส่วนหัวของสถานที่ตั้ง นี่เป็นคำเชิญให้ตัวแทนผู้ใช้ (เช่น เว็บเบราว์เซอร์) สร้างคำขอที่สองหรือเหมือนกันไปยัง URL ใหม่ที่ระบุในช่องตำแหน่ง ผลลัพธ์ที่ได้คือการเปลี่ยนเส้นทางไปยัง URL ใหม่

เว็บเบราว์เซอร์จำนวนมากใช้โค้ดนี้ในลักษณะที่ละเมิดมาตรฐานนี้ โดยเปลี่ยนประเภทคำขอของคำขอใหม่เป็นGETโดยไม่คำนึงถึงประเภทที่ใช้ในคำขอเดิม (เช่นPOST ) [1]ด้วยเหตุผลนี้ HTTP/1.1 (RFC 2616) ได้เพิ่มรหัสสถานะใหม่303และ307เพื่อแก้ความกำกวมระหว่างพฤติกรรมทั้งสอง โดย 303 กำหนดให้เปลี่ยนประเภทคำขอเป็น GET และ 307 รักษาประเภทคำขอตามที่ส่งในตอนแรก แม้จะมีความชัดเจนมากขึ้นจากการแก้ความกำกวมนี้ แต่โค้ด 302 ยังคงใช้ในเฟรมเวิร์กของเว็บเพื่อรักษาความเข้ากันได้กับเบราว์เซอร์ที่ไม่ได้ใช้ข้อกำหนด HTTP/1.1 [2]

ด้วยเหตุนี้ RFC 7231 (การอัพเดต RFC 2616) จึงเปลี่ยนคำจำกัดความเพื่อให้ตัวแทนผู้ใช้เขียน POST ใหม่เป็น GET ได้ [3]

ตัวอย่าง

คำขอของลูกค้า:

GET  /index.html  HTTP / 1.1 
โฮสต์:  www.example.com

การตอบสนองของเซิร์ฟเวอร์:

HTTP / 1.1  302  ตำแหน่งที่พบ
: http://www.iana.org/domains/example/ 

ดูเพิ่มเติม

อ้างอิง

  1. ลอว์เรนซ์, เอริค. "วิธีการเปลี่ยนเส้นทาง HTTP และรหัสสถานะ" EricLaw บล็อก สืบค้นเมื่อ2011-08-20 .
  2. ^ "คำขอและการตอบสนองวัตถุ | เอกสาร Django | Django" . เอกสาร. djangoproject.com สืบค้นเมื่อ2014-06-23 .
  3. ^ "Hypertext Transfer Protocol (HTTP/1.1): ความหมายและเนื้อหา" . Tools.ietf.org . สืบค้นเมื่อ2019-01-05 .

ลิงค์ภายนอก

  • RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235 (HTTP 1.1)
  • RFC 2616 (HTTP 1.1) (ล้าสมัย)
  • RFC 1945 (HTTP 1.0)