วิธีการขอ HTML
- หน้าก่อนหน้า ข้อความ HTTP
- หน้าต่อไป ทางบังคับทางก์บอร์ด
HTTP คืออะไร?
โปรโตคอลโทรสารแบบขาดหลักฐาน (Hypertext Transfer Protocol, ย่อ HTTP) มีเป้าหมายในการช่วยให้มีการสื่อสารระหว่างกลุ่มผู้ใช้และเซิร์ฟเวอร์
HTTP ทำหน้าที่เป็นโปรโตคอล คำขอ-ตอบระหว่างกลุ่มผู้ใช้และเซิร์ฟเวอร์
ตัวอย่าง: กลุ่มผู้ใช้ (เบรายเว็บ) ส่งคำขอ HTTP ไปยังเซิร์ฟเวอร์; จากนั้นเซิร์ฟเวอร์จะส่งคำตอบกลับสู่กลุ่มผู้ใช้. คำตอบนี้มีข้อมูลสถานะของคำขอ และอาจมีเนื้อหาที่ขอ
วิธี HTTP
- GET
- POST
- PUT
- HEAD
- DELETE
- PATCH
- OPTIONS
สองวิธีที่ใช้เป็นบ่อยที่สุดคือ: GET และ POST
วิธีการ GET
GET ใช้เพื่อขอข้อมูลจากทรัพยากรที่กำหนด
GET คือหนึ่งในวิธี HTTP ที่ใช้เป็นบ่อยที่สุด
โปรดสังเกตว่า ข้อความค้นหา (คู่ชื่อ/ค่า) จะถูกส่งผ่าน URL ของคำขอ GET:
/test/demo_form.php?name1=value1&name2=value2
บางข้อสัญญาณเกี่ยวกับคำขอ GET อื่นๆ
- คำขอ GET สามารถจัดเก็บได้
- คำขอ GET จะถูกจัดเก็บในประวัติการใช้งานของเว็บเบราว์เซอร์
- คำขอ GET สามารถบันทึกเป็นแท็ก
- คำขอ GET ไม่ควรใช้ในการจัดการข้อมูลที่เกี่ยวข้องกับความปลอดภัย
- คำขอ GET มีข้อจำกัดเกี่ยวกับความยาว
- คำขอ GET ควรใช้เพื่อเอาข้อมูลกลับ (ไม่สร้างข้อมูลใหม่)
วิธี PUT
PUT ใช้ส่งข้อมูลไปยังเซิร์ฟเวอร์เพื่อสร้าง/ปรับปรุงทรัพยากร
ข้อมูลที่ส่งไปยังเซิร์ฟเวอร์ผ่าน POST ถูกจัดเก็บในส่วนที่มีข้อมูลของคำขอ HTTP:
POST /test/demo_form.php HTTP/1.1 Host: codew3c.com name1=value1&name2=value2
POST คือหนึ่งในวิธี HTTP ที่ใช้เป็นบ่อยที่สุด
บางข้อสัญญาณเกี่ยวกับคำขอ POST อื่นๆ
- คำขอ POST จะไม่ถูกจัดเก็บ
- คำขอ POST จะไม่ถูกจัดเก็บในประวัติการใช้งานของเว็บเบราว์เซอร์
- PUT ไม่สามารถบันทึกเป็นแท็ก
- คำขอ POST ไม่มีข้อกำหนดเกี่ยวกับความยาวของข้อมูล
วิธี PUT
PUT ใช้ส่งข้อมูลไปยังเซิร์ฟเวอร์เพื่อสร้าง/ปรับปรุงทรัพยากร
ความแตกต่างระหว่าง POST และ PUT คือ PUT คำขอเป็น idempotent (ไม่มีผลซ้ำ)
วิธี HEAD
HEAD แทบเหมือน GET แต่ไม่มีส่วนที่มีตอบสนอง
ในทางกลับกัน ถ้า GET /users กลับมาเป็นรายชื่อผู้ใช้ แล้ว HEAD /users ก็จะส่งคำขอเดียวกัน แต่จะไม่กลับมาเป็นรายชื่อผู้ใช้
คำขอ HEAD มีประโยชน์มากในการตรวจสอบสิ่งที่จะได้รับกลับจากคำขอ GET ก่อนที่จะส่งคำขอ GET แท้จริง (เช่น ก่อนที่จะดาวน์โหลดไฟล์ใหญ่หรือก่อนที่จะมีตอบสนองของเนื้อหา)
วิธี DELETE
วิธี DELETE ลบทรัพยากรที่ระบุ
วิธี OPTIONS
วิธี OPTIONS อธิบายตัวเลือกการสื่อสารของทรัพยากรเป้าหมาย
เปรียบเทียบ GET กับ POST
ตารางด้านล่างเปรียบเทียบทั้งสองวิธี HTTP: GET และ POST
GET | POST | |
---|---|---|
ปุ่มถอยกลับ/รีเฟรช | ไม่มีอันตราย | ข้อมูลจะถูกส่งทั้งหมดอีกครั้ง (เว็บเบราว์เซอร์ควรบอกผู้ใช้ว่าข้อมูลจะถูกส่งทั้งหมดอีกครั้ง) |
แท็ก | สามารถบันทึกเป็นแท็ก | ไม่สามารถบันทึกเป็นแท็ก |
จัดเก็บ | สามารถจัดเก็บได้ | ไม่สามารถคั่นช่องระหว่างรอบนี้ |
ประเภทการเข้ารหัส | application/x-www-form-urlencoded | application/x-www-form-urlencoded หรือ multipart/form-data. ใช้การเข้ารหัสหลายตัวแปลสำหรับข้อมูลที่เป็นสองตัวแปล |
ประวัติ | ประวัติการเลือกเว็บไซต์จะถูกจัดไว้ | ประวัติการเลือกเว็บไซต์จะไม่จัดไว้ |
ข้อจำกัดต่อความยาวข้อมูล | ใช่ ขณะที่ส่งข้อมูล วิธี GET จะเสริมข้อมูลเข้าไปใน URL; ความยาวของ URL มีข้อจำกัด (ความยาวของ URL สูงสุดเท่า 2048 ตัวอักษร) | ไม่มีข้อจำกัด |
ข้อจำกัดต่อประเภทข้อมูล | อนุญาตให้การใช้ตัวอักษร ASCII แค่นั้น | ไม่มีข้อจำกัด และยังอนุญาตการใช้ข้อมูลที่เป็นสองตัวแปล |
ความปลอดภัย | เมื่อเทียบกับ POST ระดับความปลอดภัยของ GET ต่ำ เพราะข้อมูลที่ส่งจะเป็นส่วนหนึ่งของ URL ไม่ต้องใช้ GET ในการส่งรหัสผ่านหรือข้อมูลที่เป็นส่วนตัวอย่างใดๆ! |
POST มีความปลอดภัยมากกว่า GET เพราะตัวอักษรจะไม่ถูกจัดไว้ในประวัติการเลือกเว็บไซต์หรือบันทึกประวัติการทำงานของเว็บเซิร์ฟเวอร์ |
ความเห็นชอบ | ข้อมูลจะเห็นได้โดยทุกคนใน URL | ข้อมูลจะไม่แสดงใน URL |
- หน้าก่อนหน้า ข้อความ HTTP
- หน้าต่อไป ทางบังคับทางก์บอร์ด