รับเทียบกับ โพสต์: ความแตกต่างที่สำคัญระหว่างวิธี HTTP
GET คืออะไร?
เมธอด GET ใช้สำหรับเพิ่มข้อมูลจากฟอร์มลงใน URL ในคู่ชื่อหรือค่า หากคุณใช้ GET ความยาวของ URL จะยังคงมีการจำกัดอยู่ ช่วยให้ผู้ใช้สามารถส่งบุ๊กมาร์กผลลัพธ์ได้ GET เหมาะสำหรับข้อมูลที่ไม่ต้องการการรักษาความปลอดภัย หรือไม่มีรูปภาพหรือเอกสาร Word
โพสต์คืออะไร?
POST เป็นวิธีการที่รองรับโดย HTTP และแสดงให้เห็นว่าเว็บเซิร์ฟเวอร์ยอมรับข้อมูลที่รวมอยู่ในเนื้อหาของข้อความ POST มักใช้โดย World Wide Web เพื่อส่งข้อมูลที่ผู้ใช้สร้างขึ้นไปยังเว็บเซิร์ฟเวอร์หรือเมื่อคุณอัปโหลดไฟล์
คุณสมบัติของ GET
นี่คือคุณสมบัติที่สำคัญของ GET:
- การบุ๊กมาร์กข้อมูลโดยใช้วิธี GET เป็นเรื่องง่ายมาก
- ข้อจำกัดความยาวของวิธี GET มีจำกัด
- คุณสามารถใช้วิธีนี้เพื่อดึงข้อมูลจากแถบที่อยู่ในเบราว์เซอร์เท่านั้น
- วิธีนี้ทำให้คุณสามารถจัดเก็บข้อมูลได้อย่างง่ายดาย
คุณสมบัติของโพสต์
นี่คือคุณสมบัติที่สำคัญของ POST:
- คำขอวิธีการ POST รับอินพุตจากเนื้อหาคำขอและสตริงการสืบค้น
- ข้อมูลที่ส่งผ่านโดยใช้วิธี POST จะไม่ปรากฏในพารามิเตอร์การค้นหาในเบราว์เซอร์ URL.
- พารามิเตอร์ของวิธี POST จะไม่ถูกบันทึกในประวัติเบราว์เซอร์
- ไม่มีข้อจำกัดในการส่งข้อมูลความยาวของข้อมูล
- ช่วยให้คุณส่งข้อมูลสำคัญและเป็นความลับเช่นรายละเอียดการเข้าสู่ระบบไปยังเซิร์ฟเวอร์ได้อย่างปลอดภัย
ตัวอย่างวิธีการ GET
นี่คือตัวอย่างของวิธีการ GET:
GET/RegisterStudent.asp?user=value1&pass=value2
ตัวอย่างวิธีการ POST
นี่คือตัวอย่างของวิธีการ POST:
POST/RegisterStudent.asp HTTP/1.1 Host: www.guru99.com user=value1&pass=value2
แบบฟอร์มที่ใช้ประเภทเนื้อหาเริ่มต้นของ application/x-www-form-urlencoded:
ความแตกต่างระหว่าง GET และ POST
ความแตกต่างที่สำคัญระหว่าง GET และ POST มีดังนี้
| GET | POST |
|---|---|
| ในเมธอด GET ค่าต่างๆ จะปรากฏให้เห็นใน URL. | ในวิธีการ POST ค่าต่างๆ จะไม่ปรากฏให้เห็น URL. |
| GET มีข้อจำกัดด้านความยาวของค่า โดยทั่วไปคือ 255 อักขระ | POST ไม่มีการจำกัดความยาวของค่าเนื่องจากส่งผ่านเนื้อหาของ HTTP |
| โดยทั่วไปแล้ว GET มีประสิทธิภาพดีกว่า POST เนื่องจากมีความเรียบง่ายกว่าในการเพิ่มค่าเข้าไปในข้อมูล URL. | มีประสิทธิภาพต่ำกว่าเมื่อเปรียบเทียบกับวิธี GET เนื่องจากเวลาที่ใช้ในการรวมค่า POST ไว้ในเนื้อหา HTTP |
| วิธีการนี้รองรับเฉพาะชนิดข้อมูลสตริงเท่านั้น | เมธอดนี้รองรับข้อมูลประเภทต่างๆ เช่น สตริง ตัวเลข ไบนารี ฯลฯ |
| สามารถบุ๊กมาร์กผลลัพธ์ GET ได้ | ไม่สามารถบุ๊กมาร์กผลลัพธ์ POST ได้ |
| คำขอ GET มักจะสามารถแคชได้ | คำขอ POST แทบจะไม่สามารถแคชได้ |
| พารามิเตอร์ GET ยังคงอยู่ในประวัติเว็บเบราว์เซอร์ | พารามิเตอร์จะไม่ถูกบันทึกในประวัติเว็บเบราว์เซอร์ |
ตรวจสอบบทช่วยสอนของเราเกี่ยวกับความแตกต่างระหว่าง HTTP และ HTTPS: - คลิกที่นี่
ข้อดีของ GET
นี่คือประโยชน์/ข้อดีของการใช้ GET:
- วิธีการ GET สามารถดึงข้อมูลที่ระบุโดย request-URl (Uniform Resource Identifier)
- คำขอ GET สามารถดูได้ในประวัติเบราว์เซอร์
- ช่วยให้คุณสามารถบันทึกผลลัพธ์ของแบบฟอร์ม HTML ได้
- คุณสามารถใช้วิธี GET เพื่อขอข้อมูลที่จำเป็นได้อย่างง่ายดาย
ข้อดีของโพสต์
นี่คือประโยชน์/ข้อดีของการใช้ POST:
- เมธอดนี้ช่วยให้คุณกำหนด URI ของทรัพยากรได้
- การระบุส่วนหัวตำแหน่งทรัพยากรใหม่ทำได้ง่ายมากโดยใช้ส่วนหัวตำแหน่ง
- คุณสามารถส่งคำขอเพื่อยอมรับเอนทิตีเป็นทรัพยากรใหม่ ซึ่งระบุโดย URI
- คุณสามารถส่งข้อมูลที่ผู้ใช้สร้างขึ้นไปยังเว็บเซิร์ฟเวอร์
- มันมีประโยชน์มากเมื่อคุณไม่มีข้อมูลใดๆ เกี่ยวกับทรัพยากรที่คุณต้องเก็บรักษาไว้ URL.
- ใช้ POST เมื่อคุณต้องการติดต่อกับเซิร์ฟเวอร์ซึ่งเป็นตัวควบคุม URL การสร้างทรัพยากรของคุณ
- POST เป็นวิธีการที่ปลอดภัย เนื่องจากคำขอไม่อยู่ในประวัติเบราว์เซอร์
- คุณสามารถได้อย่างง่ายดาย transmit ข้อมูลจำนวนมากโดยใช้ระบบโพสต์
- คุณสามารถเก็บข้อมูลส่วนตัวได้
- วิธีนี้สามารถใช้ในการส่งข้อมูลไบนารี่และข้อมูล ASCII
ข้อเสียของ GET
นี่คือข้อเสีย/ข้อเสียของการใช้ GET:
- GET ไม่สามารถใช้ส่งเอกสารคำหรือรูปภาพได้
- คำขอ GET สามารถใช้เพื่อดึงข้อมูลเท่านั้น
- ไม่สามารถใช้วิธี GET เพื่อส่งข้อมูลละเอียดอ่อน เช่น ชื่อผู้ใช้และรหัสผ่าน
- ความยาวของ URL จำกัด
- หากคุณใช้วิธี GET เบราว์เซอร์จะเพิ่มข้อมูลต่อท้ายเข้าไป URL.
- คุณสามารถบุ๊กมาร์กค่าสตริงการสืบค้นใน GET ได้อย่างง่ายดาย
ข้อเสียของ POST
นี่คือข้อเสีย/ข้อเสียของการใช้ POST:
- ไม่สามารถบันทึกข้อมูลได้ เนื่องจากข้อมูลที่ส่งผ่านวิธีการ POST นั้นไม่สามารถมองเห็นได้ URL.
- คุณไม่เห็นคำขอ POST ในประวัติเบราว์เซอร์
- วิธีการนี้เข้ากันไม่ได้กับการตั้งค่าไฟร์วอลล์หลายๆ แบบ
- คุณไม่สามารถใช้ช่องว่าง แท็บ การคืนสังหาร ฯลฯ
- วิธีการนี้เข้ากันไม่ได้กับการตั้งค่าไฟร์วอลล์บางอย่าง
- วิธี POST ใช้เวลานานในการอัปโหลดไฟล์ไบนารีขนาดใหญ่
ความแตกต่างที่สำคัญ
- ในเมธอด GET ค่าต่างๆ จะปรากฏให้เห็นใน URL ในขณะที่ใช้วิธี POST ค่าต่างๆ จะไม่ปรากฏให้เห็น URL.
- GET มีข้อจำกัดด้านความยาวของค่า โดยทั่วไปคือ 255 อักขระ ในขณะที่ POST ไม่มีข้อจำกัดด้านความยาวของค่าเนื่องจากส่งผ่านเนื้อหาของ HTTP
- วิธี GET รองรับเฉพาะประเภทข้อมูลสตริง ในขณะที่วิธี POST รองรับประเภทข้อมูลที่แตกต่างกัน เช่น สตริง ตัวเลข ไบนารี ฯลฯ
- คำขอ GET มักจะแคชได้ในขณะที่คำขอ POST แทบจะไม่สามารถแคชได้
- GET มีประสิทธิภาพดีกว่าเมื่อเปรียบเทียบกับ POST



