ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับ HTTP
HTTP (Hypertext Transfer Protocol) เป็นมาตรฐาน โปรโตคอลเครือข่าย ที่เว็บเบราเซอร์และเซิร์ฟเวอร์ใช้เพื่อสื่อสาร เป็นเรื่องง่ายที่จะจดจำสิ่งนี้เมื่อไปที่เว็บไซต์เนื่องจากเขียนไว้ใน URL (เช่น http: // www. )
โปรโตคอลนี้คล้ายคลึงกับ FTP อื่นที่ใช้โดยโปรแกรมไคลเอ็นต์เพื่อขอไฟล์จากเซิร์ฟเวอร์ระยะไกล ในกรณีของ HTTP มักเป็นเว็บเบราเซอร์ที่ร้องขอไฟล์ HTML จากเว็บเซิร์ฟเวอร์ซึ่งจะแสดงในเบราเซอร์ด้วยข้อความภาพไฮเปอร์ลิงก์ ฯลฯ
HTTP คือสิ่งที่เรียกว่า "ระบบไร้สัญชาติ" สิ่งนี้หมายความว่าแตกต่างจากโปรโตคอลการถ่ายโอนแฟ้มอื่น ๆ เช่น FTP การเชื่อมต่อ HTTP จะลดลงเมื่อมีการร้องขอ ดังนั้นเมื่อเว็บเบราเซอร์ของคุณส่งคำขอและ เซิร์ฟเวอร์ ตอบสนองกับเพจการเชื่อมต่อจะถูกปิด
เนื่องจากเว็บเบราว์เซอร์ส่วนใหญ่เป็นค่าเริ่มต้นของ HTTP คุณสามารถพิมพ์เฉพาะชื่อโดเมนและให้เบราว์เซอร์กรอกข้อมูลส่วน "http: //" โดยอัตโนมัติ
ประวัติ HTTP
Tim Berners-Lee ได้สร้าง HTTP ในช่วงต้นทศวรรษ 1990 โดยเป็นส่วนหนึ่งของงานของเขาในการกำหนด เวิร์ลไวด์เว็บ สามรุ่นหลักถูกนำไปใช้อย่างกว้างขวางในช่วงปี 1990:
- HTTP 0.9 (สำหรับการสนับสนุนเอกสารไฮเปอร์เท็กซ์ขั้นพื้นฐาน)
- HTTP 1.0 (ส่วนขยายเพื่อสนับสนุนเว็บไซต์ที่หลากหลายและความยืดหยุ่น)
- HTTP 1.1 (พัฒนาขึ้นเพื่อแก้ไขข้อ จำกัด ด้านประสิทธิภาพของ HTTP 1.0 ที่ระบุไว้ใน Internet RFC 2068)
รุ่นล่าสุดคือ HTTP 2.0 กลายเป็นมาตรฐานที่ได้รับอนุมัติในปีพ. ศ. 2558 โดยมีความเข้ากันได้ย้อนหลังกับ HTTP 1.1 แต่มีการปรับปรุงประสิทธิภาพเพิ่มเติม
แม้ว่ามาตรฐาน HTTP จะไม่เข้ารหัสการรับส่งข้อมูลที่ส่งผ่านเครือข่าย แต่มาตรฐาน HTTPS ได้รับการพัฒนาขึ้นเพื่อเพิ่มการเข้ารหัสลับไปยัง HTTP ผ่านการใช้ Secure Sockets Layer (SSL) หรือ (Transport Layer Security: TLS)
วิธีการทำงานของ HTTP
HTTP เป็นโปรโตคอลเลเยอร์แอพพลิเคชันที่สร้างขึ้นที่ด้านบนของ TCP ซึ่งใช้โมเดล การสื่อสาร แบบ client-server ไคลเอ็นต์และเซิร์ฟเวอร์ HTTP สื่อสารผ่านทางคำขอ HTTP และข้อความตอบกลับ ประเภทข้อความ HTTP หลักสามประเภทคือ GET, POST และ HEAD
- ข้อความ HTTP GET ที่ ส่งไปยังเซิร์ฟเวอร์จะประกอบด้วย URL เท่านั้น พารามิเตอร์ข้อมูลที่ไม่บังคับหรือมากกว่านั้นจะถูกเพิ่มต่อท้าย URL เซิร์ฟเวอร์จะประมวลผลส่วนข้อมูลที่เป็นตัวเลือกของ URL ถ้ามีและส่งกลับผลลัพธ์ (หน้าเว็บหรือองค์ประกอบของหน้าเว็บ) ไปยังเบราเซอร์
- ข้อความ HTTP POST จะวางพารามิเตอร์ข้อมูลที่เป็นตัวเลือกไว้ในเนื้อหาของข้อความขอแทนที่จะเพิ่มลงในส่วนท้ายของ URL
- คำขอ HTTP HEAD ทำงานเหมือนกับคำขอ GET แทนที่จะตอบกลับด้วยเนื้อหาทั้งหมดของ URL เซิร์ฟเวอร์จะส่งกลับเฉพาะข้อมูลส่วนหัวเท่านั้น (มีอยู่ในส่วน HTML)
เบราเซอร์เริ่มต้นการสื่อสารกับเซิร์ฟเวอร์ HTTP โดยการเริ่มต้นการเชื่อมต่อ TCP กับเซิร์ฟเวอร์ เซสชันการเรียกดูเว็บใช้พอร์ตเซิร์ฟเวอร์ 80 โดยค่าเริ่มต้นแม้ว่าจะมีการใช้พอร์ตอื่น ๆ เช่น 8080 แทน
ผู้ใช้เรียกใช้การส่งและรับข้อความ HTTP โดยไปที่เว็บเพจ
ปัญหาเกี่ยวกับ HTTP
ข้อความที่ส่งผ่าน HTTP อาจไม่สามารถส่งได้สำเร็จด้วยเหตุผลหลายประการ:
- ข้อผิดพลาดของผู้ใช้
- ความผิดปกติของเว็บเบราเซอร์หรือเว็บเซิร์ฟเวอร์
- ข้อผิดพลาดในการสร้างหน้าเว็บ
- บกพร่องของเครือข่ายชั่วคราว
เมื่อความล้มเหลวเหล่านี้เกิดขึ้นโปรโตคอลจะรวบรวมสาเหตุของความล้มเหลว (ถ้าเป็นไปได้) และรายงานรหัสข้อผิดพลาดกลับไปยังเบราเซอร์ที่เรียกว่า บรรทัดสถานะ / รหัส HTTP ข้อผิดพลาดเริ่มต้นด้วยตัวเลขที่ระบุเพื่อระบุว่าเป็นข้อผิดพลาดประเภทใด
ตัวอย่างเช่นข้อผิดพลาด 4xx ระบุว่าคำขอสำหรับเพจไม่สามารถดำเนินการได้อย่างถูกต้องหรือคำขอมี ไวยากรณ์ที่ ไม่ถูกต้อง ตัวอย่างเช่น ข้อผิดพลาด 404 หมายความว่าไม่พบหน้าเว็บ บางเว็บไซต์ก็มีบางอย่างที่ กำหนดเอง 404 ข้อผิดพลาดที่สนุกหน้า