ทั้งสองวิธี HTTP ที่ใช้มากที่สุดคือ: GET และ POST
HTTP คืออะไร?
Hypertext Transfer Protocol (HTTP) ถูกออกแบบมาเพื่อช่วยให้การสื่อสารระหว่างลูกค้าและเซิร์ฟเวอร์
HTTP ทำงานเป็นโปรโตคอลที่ตอบสนองการร้องขอระหว่างไคลเอนต์และเซิร์ฟเวอร์
เว็บเบราเซอร์อาจจะเป็นลูกค้าและการประยุกต์ใช้ในเครื่องคอมพิวเตอร์ที่เป็นโฮสต์เว็บไซต์อาจจะเป็นเซิร์ฟเวอร์
ตัวอย่าง: ลูกค้า (Browser) ส่งการร้องขอ HTTP ไปยังเซิร์ฟเวอร์; จากนั้นเซิร์ฟเวอร์จะส่งกลับตอบสนองต่อลูกค้า การตอบสนองที่มีข้อมูลเกี่ยวกับการขอสถานะและยังอาจมีเนื้อหาที่ร้องขอ
สองวิธี HTTP คำขอ: GET และ POST
สองวิธีที่ใช้กันทั่วไปสำหรับตอบสนองการร้องขอระหว่างไคลเอนต์และเซิร์ฟเวอร์คือ: GET และ POST
- GET - ร้องขอข้อมูลจากทรัพยากรที่ระบุ
- Post - ข้อมูลส่งที่ต้องดำเนินการให้เป็นทรัพยากรที่ระบุ
วิธี GET
โปรดทราบว่าสตริงการสืบค้น (คู่ชื่อ / ค่า) จะถูกส่ง URL ของ GET คำขอนี้:
/test/demo_form.asp?name1=value1&name2=value2
บางบันทึกอื่น ๆ เกี่ยวกับคำขอได้รับ:
- GET หน้าสามารถเก็บไว้
- ได้รับการร้องขอยังคงอยู่ในประวัติของเบราว์เซอร์
- GET หน้าสามารถบุ๊คมาร์ค
- GET หน้าไม่ควรใช้เมื่อต้องรับมือกับข้อมูลที่สำคัญ
- ได้รับการร้องขอมีข้อ จำกัด ระยะเวลา
- GET หน้าควรจะใช้ในการดึงข้อมูล
วิธีการโพสต์
โปรดทราบว่าสตริงการสืบค้น (ชื่อ / คู่ค่า) จะถูกส่งไปในเนื้อหาของข้อความ HTTP ของคำขอ POST:
POST /test/demo_form.asp HTTP/1.1
Host: w3ii.com
name1=value1&name2=value2
บางบันทึกอื่น ๆ เกี่ยวกับคำขอโพสต์:
- POST การร้องขอจะไม่เก็บไว้ชั่วคราว
- POST การร้องขอไม่ได้อยู่ในประวัติศาสตร์ของเบราว์เซอร์
- การร้องขอการโพสต์ไม่สามารถบุ๊คมาร์ค
- ร้องขอ POST ไม่มีข้อ จำกัด เกี่ยวกับความยาวของข้อมูล
เปรียบเทียบกับ GET POST
ตารางต่อไปนี้เปรียบเทียบสองวิธี http: GET และ POST
GET | โพสต์ | |
---|---|---|
ปุ่ม BACK / โหลด | ไม่เป็นอันตราย | ข้อมูลจะถูกส่งอีกครั้ง (เบราว์เซอร์ควรจะแจ้งเตือนผู้ใช้ว่าข้อมูลที่กำลังจะมีการส่งอีกครั้ง) |
บุ๊คมาร์ค | สามารถบุ๊คมาร์ค | ไม่สามารถบุ๊คมาร์ค |
Cached | สามารถเก็บไว้ | ไม่แค |
ประเภทการเข้ารหัส | แอพลิเคชัน / x-www ฟอร์ม urlencoded | แอพลิเคชัน / x-www ฟอร์ม urlencoded หรือ multipart / form ข้อมูล ใช้การเข้ารหัส multipart สำหรับข้อมูลไบนารี |
ประวัติศาสตร์ | พารามิเตอร์ยังคงอยู่ในประวัติเบราเซอร์ | พารามิเตอร์จะไม่ถูกบันทึกในประวัติศาสตร์ของเบราว์เซอร์ |
ข้อ จำกัด เกี่ยวกับความยาวของข้อมูล | ใช่เมื่อมีการส่งข้อมูลวิธี GET เพิ่มข้อมูลไปยัง URL; และความยาวของ URL ที่ถูก จำกัด (ความยาว URL สูงสุดคือ 2048 ตัวอักษร) | ไม่มีข้อ จำกัด |
ข้อ จำกัด เกี่ยวกับชนิดข้อมูล | เฉพาะอักขระ ASCII ได้รับอนุญาต | ไม่มีข้อ จำกัด ข้อมูลไบนารีที่ได้รับอนุญาต |
ความปลอดภัย | ได้รับคือความปลอดภัยน้อยกว่าเมื่อเทียบกับการโพสต์เพราะข้อมูลที่ส่งเป็นส่วนหนึ่งของ URL ไม่เคยได้รับเมื่อใช้การส่งรหัสผ่านหรือข้อมูลสำคัญอื่น ๆ ! | โพสต์เล็ก ๆ น้อย ๆ ที่ปลอดภัยกว่าเพราะ GET พารามิเตอร์ที่จะไม่เก็บไว้ในประวัติศาสตร์ของเบราว์เซอร์หรือในบันทึกของเว็บเซิร์ฟเวอร์ |
ความชัดเจน | ข้อมูลที่ปรากฏแก่ทุกคนใน URL | ข้อมูลจะไม่แสดงใน URL |
วิธีการขอ HTTP อื่น ๆ
ตารางต่อไปนี้แสดงบางวิธีการร้องขอ HTTP อื่น ๆ :
วิธี | ลักษณะ |
---|---|
HEAD | เช่นเดียวกับ GET แต่ส่งกลับเฉพาะส่วนหัว HTTP และร่างกายไม่มีเอกสาร |
PUT | ภาพที่เป็นตัวแทนของ URI ที่ระบุ |
DELETE | ลบทรัพยากรที่ระบุ |
OPTIONS | ส่งกลับวิธี HTTP ที่เซิร์ฟเวอร์ที่สนับสนุน |
CONNECT | แปลงการเชื่อมต่อการร้องขอไปยังโปร่งใส TCP / IP อุโมงค์ |