HTTP - ภาพรวม

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

โดยทั่วไป HTTP เป็นโปรโตคอลการสื่อสารที่ใช้ TCP / IP ซึ่งใช้ในการส่งข้อมูล (ไฟล์ HTML ไฟล์รูปภาพผลการสืบค้น ฯลฯ ) บนเวิลด์ไวด์เว็บ พอร์ตเริ่มต้นคือ TCP 80 แต่พอร์ตอื่น ๆ ก็สามารถใช้ได้เช่นกัน เป็นวิธีที่เป็นมาตรฐานสำหรับคอมพิวเตอร์ในการสื่อสารระหว่างกัน ข้อกำหนด HTTP ระบุวิธีการสร้างและส่งข้อมูลคำขอของไคลเอ็นต์ไปยังเซิร์ฟเวอร์และเซิร์ฟเวอร์ตอบสนองต่อคำขอเหล่านี้อย่างไร

คุณสมบัติพื้นฐาน

มีคุณสมบัติพื้นฐานสามประการที่ทำให้ HTTP เป็นโปรโตคอลที่เรียบง่าย แต่ทรงพลัง:

  • HTTP is connectionless:ไคลเอ็นต์ HTTP กล่าวคือเบราว์เซอร์เริ่มต้นคำร้องขอ HTTP และหลังจากส่งคำขอไคลเอ็นต์จะรอการตอบกลับ เซิร์ฟเวอร์ประมวลผลคำขอและส่งการตอบกลับกลับมาหลังจากที่ไคลเอนต์ยกเลิกการเชื่อมต่อ ดังนั้นไคลเอนต์และเซิร์ฟเวอร์จึงรู้ซึ่งกันและกันในระหว่างการร้องขอและการตอบสนองในปัจจุบันเท่านั้น มีการร้องขอเพิ่มเติมเกี่ยวกับการเชื่อมต่อใหม่เช่นไคลเอนต์และเซิร์ฟเวอร์เป็นสิ่งใหม่ซึ่งกันและกัน

  • HTTP is media independent:หมายความว่า HTTP สามารถส่งข้อมูลประเภทใดก็ได้ตราบเท่าที่ทั้งไคลเอนต์และเซิร์ฟเวอร์รู้วิธีจัดการกับเนื้อหาข้อมูล จำเป็นสำหรับไคลเอ็นต์และเซิร์ฟเวอร์ในการระบุประเภทเนื้อหาโดยใช้ประเภท MIME ที่เหมาะสม

  • HTTP is stateless:ดังที่กล่าวไว้ข้างต้น HTTP ไม่มีการเชื่อมต่อและเป็นผลโดยตรงจากการที่ HTTP เป็นโปรโตคอลไร้สถานะ เซิร์ฟเวอร์และไคลเอนต์จะรับรู้ซึ่งกันและกันในระหว่างการร้องขอปัจจุบันเท่านั้น หลังจากนั้นทั้งคู่ก็ลืมกันและกัน เนื่องจากลักษณะของโปรโตคอลนี้ทั้งไคลเอนต์และเบราว์เซอร์ไม่สามารถเก็บข้อมูลระหว่างคำขอต่างๆในหน้าเว็บได้

HTTP / 1.0 ใช้การเชื่อมต่อใหม่สำหรับการแลกเปลี่ยนคำขอ / การตอบกลับแต่ละรายการโดยที่อาจใช้การเชื่อมต่อ HTTP / 1.1 สำหรับการแลกเปลี่ยนคำขอ / การตอบกลับอย่างน้อยหนึ่งรายการ

สถาปัตยกรรมพื้นฐาน

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

โปรโตคอล HTTP เป็นโปรโตคอลการร้องขอ / การตอบสนองตามสถาปัตยกรรมที่ใช้ไคลเอ็นต์ / เซิร์ฟเวอร์ซึ่งเว็บเบราว์เซอร์โรบ็อตและเครื่องมือค้นหา ฯลฯ ทำหน้าที่เหมือนไคลเอ็นต์ HTTP และเว็บเซิร์ฟเวอร์ทำหน้าที่เป็นเซิร์ฟเวอร์

ลูกค้า

ไคลเอ็นต์ HTTP ส่งคำขอไปยังเซิร์ฟเวอร์ในรูปแบบของวิธีการร้องขอ URI และเวอร์ชันโปรโตคอลตามด้วยข้อความคล้าย MIME ที่มีตัวปรับเปลี่ยนคำขอข้อมูลไคลเอ็นต์และเนื้อหาที่เป็นไปได้ผ่านการเชื่อมต่อ TCP / IP

เซิร์ฟเวอร์

เซิร์ฟเวอร์ HTTP ตอบสนองด้วยบรรทัดสถานะซึ่งรวมถึงเวอร์ชันโปรโตคอลของข้อความและความสำเร็จหรือรหัสข้อผิดพลาดตามด้วยข้อความคล้าย MIME ที่มีข้อมูลเซิร์ฟเวอร์ข้อมูลเมตาเอนทิตีและเนื้อหาของเอนทิตี - เนื้อหาที่เป็นไปได้