สวัสดีครับ วันนี้เราจะมาพูดถึงเรื่อง HTTP Request กัน เชื่อว่าท่านที่ทำเกี่ยวกับเว็บไซต์ต้องน่าคุ้นเคยกันเป็นอย่างดี สำหรับบทความนี้จะมาทำความเข้าใจแบบพื้นฐานกันน่ะครับ
สำหรับเนื้อหาบทความนี้จะประกอบไปด้วย 3 ส่วน คือ
- What’s HTTP Request
- Component of HTTP Request Message
- HTTP Request Methods
What’s HTTP Request
HTTP Request คือ การส่งคำขอจากฝั่ง Client ไปยังฝั่ง Server เพื่อต้องการข้อมูลบางอย่าง
HTTP Response คือ การที่ Server ส่งข้อมูลที่ Client ร้องขอกลับมา
HTTP คือ Protocol ที่ใช้ในการเชื่อมต่อระหว่าง Client และ Server
ยกตัวอย่างง่ายๆน่ะครับ
จากรูปภาพด้านบน แสดงให้เห็นว่าฝั่ง Client ได้ทำการส่งคำขอไฟล์ login.html จาก Server ด้วย HTTP Method GET (เราจะมาพูดถึงในส่วนถัดไป) และ Server ก็ตอบกลับมาด้วยไฟล์ index.html พูดให้เข้าใจง่ายๆก็คือ การที่ Client ส่งคำขอสิ่งที่อยากไปยัง Server นั้นเอง
Component of HTTP Request Message
ในส่วนนี้จะพูดต่อจากส่วนก่อนหน้านี้นะครับ โดยการที่ Client ส่งคำร้องไปหา Server นั้นจะมีรูปแบบของการส่ง เรียกว่า HTTP Request Message คือส่วนที่บอกข้อมูลรายละเอียดให้กับอีกฝั่งทราบ(ในที่นี้คือ Server) ซึ่ง HTTP Response ก็มีลักษณะเช่นเดียวกัน
HTTP Request Message ประกอบด้วย 3 ส่วนคือ
- Request-Line คือส่วนที่ระบุ HTTP Method, URI และ Version ของ Protocol ที่ใช้ (HTTP/1.0, HTTP/1.1, HTTP/2.0)
- Headers คือส่วนที่ระบุข้อมูล และกฏต่างๆ ในการเชื่อมต่อ เช่น
- accept คือระะบุรูปแบบของข้อมูล เช่น application/json, text/html
- accept-encoding คือระบุการเข้ารหัส เช่น gzip
- user-agen คือระบุประเภทของ Client เช่น Mozilla/5.0
- และส่วนอื่นๆอีก สามารถดูรายละเอียดเพิ่มเติมได้ที่นี่ - Body คือส่วนที่ระบุข้อมูลที่เราต้องการจะส่งให้ปลายทาง เช่น เราต้องการจะร้องขอ(Request) ข้อมูลบางอย่างจาก Server เราก็สามารถส่ง Parameter ต่างๆ ไปใน Body หรือกรณี Client ส่งคำขอหน้าเว็บไซต์จาก Server จากนั้น Server ก็จะส่งตัวหน้าเว็บไซต์กลับไป โดยตัวหน้าเว็บไซต์ก็จะอยู่ใน Body นั้นเอง
HTTP Request Methods
HTTP Request Method คือส่วนที่ใช้กำหนดประเภทของคำร้องขอ โดยจะมีอยู่ 4 Methods ที่ใช้งานบ่อย มีดังนี้
GET
: สำหรับขอ request จาก server เช่น รายชื่อทั้งหมด หรือรายชื่อเดี่ยวPUT
: สำหรับ update ค่า โดยเราจะส่งมากับ payloadPOST
: สำหรับ create หรือเพิ่มค่าใหม่DELETE
: สำหรับลบค่า
Reference:
(ข้อมูลอาจมีข้อผิดพลาด ถ้าจะเอาบทความนี้ไปอ้างอิงที่อื่นให้ตรวจสอบให้ดีก่อนนะครับ ขอบคุณครับ)
สำหรับวันนี้ ต้องขอลาไปก่อน สวัสดีครับ NottDev :)