คำขอและการตอบกลับ HTTP

เว็บเบราว์เซอร์โต้ตอบกับเว็บไซต์โดยทำตามโปรโตคอล HTTP นี่คือชุดกฎมาตรฐาน สำหรับการสื่อสาร

  • เมื่อคุณเข้าชมหน้าเว็บ เบราว์เซอร์จะส่งคำขอ HTTP สำหรับทรัพยากรในหน้าเว็บ เช่น HTML, CSS, JavaScript และรูปภาพ
  • เมื่อเซิร์ฟเวอร์ HTTP (เว็บเซิร์ฟเวอร์ที่โฮสต์เว็บไซต์) ได้รับคำขอ HTTP ที่ถูกต้องจากเบราว์เซอร์ เซิร์ฟเวอร์จะตอบสนองต่อเบราว์เซอร์ด้วยการตอบกลับ HTTP
  • คำขอและการตอบกลับอาจมีข้อมูลเพิ่มเติมที่เรียกว่าส่วนหัว HTTP

เช่น ลองพิจารณาเว็บไซต์ cats.example.

เว็บไซต์ cats.example ในตำนาน

ส่งคำขอ

การเข้าถึงหน้า cats.example จะเริ่มลำดับคำขอไปยังโดเมนต่างๆ ซึ่งรวมถึงคำขอรูปภาพที่โฮสต์ใน cats.example เอง คำขอสคริปต์การวิเคราะห์จาก analytics.example และคำขออื่นๆ สำหรับ ทรัพยากรเพิ่มเติมจากโดเมนอื่นๆ

คุณสามารถเพิ่มส่วนหัวของคำขอ HTTP ลงในคำขอ HTTP เพื่อให้ข้อมูลเสริมจากเบราว์เซอร์ไปยังเว็บเซิร์ฟเวอร์ เช่น มักจะมีส่วนหัวต่อไปนี้

  • Accept-Language: en-US
    ส่วนหัวนี้ระบุภาษาที่ผู้ใช้ต้องการ ซึ่งในกรณีนี้คือภาษาอังกฤษ (สหรัฐอเมริกา)
  • User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36
    ส่วนหัวนี้ให้รายละเอียดเกี่ยวกับเบราว์เซอร์และระบบปฏิบัติการของผู้ใช้ ในกรณีนี้คือ "Mozilla/5.0" (ตระกูลเบราว์เซอร์), "Macintosh" (ระบบปฏิบัติการ) และ "Chrome/127.0.0.0" (เวอร์ชันเบราว์เซอร์)

การตอบกลับ

เมื่อเว็บเซิร์ฟเวอร์ได้รับคำขอที่ถูกต้องจากเบราว์เซอร์ เซิร์ฟเวอร์จะส่งการตอบกลับไปยังเบราว์เซอร์ซึ่งให้ทรัพยากรที่ขอ ("เพย์โหลด") ได้แก่ HTML, CSS, JavaScript, ไฟล์รูปภาพ, วิดีโอ หรือข้อมูลอื่นๆ เช่นเดียวกับที่คำขอแต่ละรายการจากเบราว์เซอร์มีส่วนหัวของคำขอได้ การตอบกลับแต่ละรายการจากเซิร์ฟเวอร์ก็มีส่วนหัวของการตอบกลับได้เช่นกัน ระบบจะส่งส่วนหัวการตอบกลับเหล่านี้พร้อมกับเพย์โหลด

ส่วนหัว Set-Cookie ที่รวมอยู่ในการตอบกลับจะบอกเบราว์เซอร์ให้จัดเก็บข้อความบางอย่าง ได้แก่ ชื่อและค่า ซึ่งเรียกว่าคุกกี้ HTTP ในการตอบสนองต่อคำขอสำหรับ cats.example/images/cat.jpg เซิร์ฟเวอร์ cats.example จะรวมส่วนหัว Set-Cookie:cat=tabby ซึ่งจะสั่งให้เบราว์เซอร์ จัดเก็บคุกกี้ชื่อ cat ที่มีค่า tabby

จากนั้นระบบจะรวมคุกกี้นั้นไว้กับคำขอที่ตามมาไปยัง cats.example, จนกว่าคุกกี้จะหมดอายุหรือถูกนำออก ซึ่งจะช่วยให้เซิร์ฟเวอร์เก็บข้อมูลเกี่ยวกับผู้ใช้ในหน้าเว็บหรือเซสชันต่างๆ ได้ เช่น ผู้ใช้เคยเห็นรูปภาพแมวลาย


ส่วนหัว การดำเนินการ ตัวอย่าง ผลกระทบ
การตอบกลับ HTTP
เซิร์ฟเวอร์ไปยังเบราว์เซอร์
Set‑Cookie เว็บเซิร์ฟเวอร์ขอให้เบราว์เซอร์จัดเก็บคุกกี้ Set‑Cookie:cat=tabby เบราว์เซอร์จะจัดเก็บคุกกี้และระบุไว้ในคำขอที่ตามมาไปยังเซิร์ฟเวอร์ที่ตั้งค่าคุกกี้นั้น
คำขอ HTTP
เบราว์เซอร์ไปยังเซิร์ฟเวอร์
Cookie เบราว์เซอร์ของคุณจะให้คุกกี้ Cookie:cat=tabby ระบบจะทำให้คุกกี้พร้อมใช้งานสำหรับเซิร์ฟเวอร์ที่เป็นปลายทางของคำขอ

การสาธิต

  • 1pc.glitch.me: การสาธิตคุกกี้ของบุคคลที่หนึ่ง
  • 3pc.glitch.me: การสาธิตคุกกี้ของบุคคลที่สาม

เครื่องมือ

ดูข้อมูลเพิ่มเติม