ความแตกต่างระหว่างวิธี GET และ POST ในรูปแบบ HTML

ผู้เขียน: Laura McKinney
วันที่สร้าง: 1 เมษายน 2021
วันที่อัปเดต: 13 พฤษภาคม 2024
Anonim
POST vs GET method in PHP forms | IEMLabs
วิดีโอ: POST vs GET method in PHP forms | IEMLabs

เนื้อหา


GET และ POST เป็นเทคนิคที่มีประสิทธิภาพสองวิธีที่สามารถส่งข้อมูลไปยังเซิร์ฟเวอร์และเบราว์เซอร์จำเป็นต้องใช้สิ่งเหล่านี้เพื่อสื่อสารกับเซิร์ฟเวอร์ ทั้งสองวิธีมีความแตกต่างที่วิธีการ GET เพิ่มข้อมูลที่เข้ารหัสไปยัง URI ในขณะที่ในกรณีของวิธีการโพสต์ข้อมูลจะถูกผนวกเข้ากับร่างกายมากกว่า URI นอกจากนี้ยังใช้วิธีการ GET เพื่อดึงข้อมูล ตรงกันข้ามวิธีการโพสต์จะใช้สำหรับการจัดเก็บหรือปรับปรุงข้อมูล

ฟอร์ม แท็กใช้สำหรับแสดงเนื้อหาของแบบฟอร์ม นี้เป็นที่รู้จักกันว่า การควบคุมรูปแบบ. แบบฟอร์มเหล่านี้เต็มไปด้วยข้อมูลที่เกี่ยวข้องแล้วส่งไปยังเครื่องระยะไกลสำหรับการประมวลผลเพิ่มเติม การทำงานของแบบฟอร์มมีสองสิ่งที่สำคัญคืออดีตคือข้อกำหนดที่อยู่ของโปรแกรมซึ่งจัดการเนื้อหาของฟอร์มด้วยความช่วยเหลือของ ACTION. ต่อมาเป็นข้อกำหนดวิธีการที่ข้อมูลไหลแบบฟอร์มด้วยความช่วยเหลือของ วิธี คุณลักษณะ

แอ็ตทริบิวต์ ACTION อธิบายว่าจะจัดการกับฟอร์ม HTML อย่างไร คุณลักษณะวิธีการจัดการกระบวนการส่งข้อมูล วิธีการ GET และ POST อยู่ภายใต้แอตทริบิวต์วิธีการ


    1. แผนภูมิเปรียบเทียบ
    2. คำนิยาม
    3. ความแตกต่างที่สำคัญ
    4. ตัวอย่าง
    5. ข้อสรุป

แผนภูมิเปรียบเทียบ

พื้นฐานสำหรับการเปรียบเทียบGETโพสต์
พารามิเตอร์จะถูกวางไว้ภายในURIร่างกาย
วัตถุประสงค์การดึงเอกสารการอัพเดทข้อมูล
ผลการค้นหาความสามารถในการถูกคั่นหน้าไม่สามารถคั่นหน้า
ความปลอดภัยช่องโหว่เช่นในปัจจุบันเป็นธรรมดาปลอดภัยกว่าวิธี GET
ข้อ จำกัด ชนิดข้อมูลแบบฟอร์มอนุญาตให้ใช้อักขระ ASCII เท่านั้น
ไม่มีข้อ จำกัด แม้แต่อนุญาตให้ใช้ข้อมูลไบนารี
ความยาวข้อมูลแบบฟอร์มควรเก็บไว้ให้น้อยที่สุดสามารถนอนในช่วงใดก็ได้
ความชัดเจนทุกคนสามารถเห็นได้ไม่แสดงตัวแปรใน URL
ขนาดตัวแปรสูงสุด 2000 ตัวอักษรมากถึง 8 Mb
แคชข้อมูลวิธีสามารถถูกแคชไม่แคชข้อมูล


ความหมายของวิธีการ GET

รับวิธี ใช้สำหรับขอ URL จากเว็บเซิร์ฟเวอร์เพื่อดึงเอกสาร HTML มันเป็นวิธีการทั่วไปสำหรับเบราว์เซอร์ในการส่งข้อมูลซึ่งนับเป็นส่วนหนึ่งของโปรโตคอล HTTP วิธีการ GET แสดงในรูปแบบของ URL เพื่อให้สามารถคั่นหน้า GET มีการใช้อย่างกว้างขวางในเครื่องมือค้นหา หลังจากผู้ใช้ส่งแบบสอบถามไปยังเครื่องมือค้นหาแล้วเอ็นจินจะเรียกใช้คิวรีและให้หน้าผลลัพธ์ ผลการสืบค้นสามารถตั้งค่าเป็นลิงค์ (คั่นหน้า)

วิธีการ GET เปิดใช้งานการสร้างแองเคอร์ซึ่งช่วยในการเข้าถึงโปรแกรม CGI ด้วยแบบสอบถามโดยไม่ใช้รูปแบบ แบบสอบถามถูกสร้างเป็นลิงก์ดังนั้นเมื่อมีการเยี่ยมชมลิงค์โปรแกรม CGI จะดึงข้อมูลที่เหมาะสมจากฐานข้อมูล

วิธีการ GET มีปัญหาด้านความปลอดภัยเนื่องจากข้อมูลที่แทรกอยู่สามารถมองเห็นได้ใน URL ข้อมูลที่ถูก จำกัด จำนวนเท่านั้นที่สามารถส่งผ่านวิธีการ GET เนื่องจากความยาวของ URL ที่เบราว์เซอร์สามารถสำรวจได้อาจเป็นพันตัวอักษร

ปัญหาเกี่ยวกับวิธีการ GET ก็คือมันไม่สามารถจัดการกับภาษาต่างประเทศ ไม่แนะนำให้ใช้เมธอด GET แต่ยังคงอยู่เมื่อไม่ได้กำหนดแอททริบิวต์ของเมธอด GET จะใช้เป็นค่าเริ่มต้น

ความหมายของวิธีการ POST

โพสต์ วิธีการนี้เหมาะสมในสภาพที่สามารถส่งผ่านข้อมูลจำนวนมากได้ เมื่อเซิร์ฟเวอร์ได้รับการร้องขอจากแบบฟอร์มที่ใช้ POST จะยังคง“ รับฟัง” สำหรับข้อมูลด้านซ้าย ในคำง่าย ๆ วิธีการถ่ายโอนข้อมูลที่เกี่ยวข้องทั้งหมดของการป้อนแบบฟอร์มทันทีหลังจากที่มีการร้องขอไปยัง URL

เมธอด POST ต้องสร้างผู้ติดต่อสองคนด้วยเว็บเซิร์ฟเวอร์ในขณะที่ GET สร้างเพียงรายเดียว คำขอใน POST ได้รับการจัดการในลักษณะเดียวกับที่ได้รับการจัดการในวิธีการ GET โดยที่ช่องว่างจะแสดงในเครื่องหมายบวก (+) และอักขระส่วนที่เหลือจะถูกเข้ารหัสในรูปแบบ URL นอกจากนี้ยังสามารถรายการของไฟล์

  1. วิธีการ GET วางพารามิเตอร์ภายใน URI ในขณะที่วิธีการ POST ผนวกพารามิเตอร์เข้าไปในร่างกาย
  2. GET ใช้เป็นหลักในการดึงข้อมูล เมื่อเทียบกับวัตถุประสงค์ของวิธีการ POST คือการปรับปรุงข้อมูล
  3. ไม่สามารถบุ๊กมาร์กผลลัพธ์การค้นหา POST ได้ในขณะที่ผลการสืบค้น GET สามารถทำบุ๊กมาร์กได้เนื่องจากมีอยู่ในรูปแบบของ URL
  4. ในวิธีการ GET ข้อมูลจะปรากฏใน URL ซึ่งเพิ่มช่องโหว่และความเสี่ยงของการแฮ็ค ในทางตรงกันข้ามวิธีการโพสต์ไม่ได้แสดงตัวแปรใน URL และเทคนิคการเข้ารหัสหลายวิธีนอกจากนี้ยังสามารถใช้ในมันซึ่งทำให้มันมีความยืดหยุ่น
  5. เมื่อวิธีการ GET ถูกนำมาใช้ในรูปแบบเพียงยอมรับตัวอักษร ASCII ในประเภทข้อมูล ในทางตรงกันข้ามวิธีการ POST ไม่ได้ผูกประเภทข้อมูลในรูปแบบและอนุญาตให้ไบนารีเช่นเดียวกับตัวอักษร ASCII
  6. ขนาดตัวแปรในวิธีการ GET คือประมาณ 2,000 ตัวอักษร ตรงกันข้ามวิธี POST อนุญาตให้มีขนาดตัวแปรสูงสุด 8 Mb
  7. ข้อมูลวิธีการ GET สามารถแคชได้ในขณะที่ข้อมูลของวิธีการ POST ไม่ได้


ตัวอย่างของ GET

เมื่อผู้ใช้ป้อน URL ใด ๆ ในแถบตำแหน่งของเบราว์เซอร์เช่น http // www.example.com / xyz / file1.htm. ที่อยู่จะถูกแปลงเป็นคำขอ HTTP GET ที่ถูกต้องตัวอย่างเช่น GET / xyz / file1.htm HTTP / 1.0.

คำขอนี้จะถูกโอนไปยังเซิร์ฟเวอร์ www.example.com. คำขอจะขอให้ file1.htm ใน xyzไดเรกทอรีและไม่ว่าจะเชื่อมต่อกับภาษา 1.0 ของ HTTP ที่นี่ผู้ใช้จะไม่ได้รับไฟล์ด้วยตัวเองหลังจากส่งไฟล์ในความเป็นจริงโปรแกรมกำลังทำงานในพื้นหลังเพื่อจัดการข้อมูลแบบฟอร์ม

ผู้ใช้ต้องผ่านข้อมูลแบบฟอร์มด้วยชื่อของโปรแกรมสำหรับการดำเนินการ เพื่อให้การดำเนินการบรรลุผลสำเร็จข้อมูลในฟอร์มจะถูกผนวกเข้ากับ URL ที่ร้องขอ มันสร้าง URL ที่มีร้อยตัวพร้อมกับข้อมูลจริงเช่น http://www.example.com/cgi-x/comments.exe?Name=AI+Alena&Age=23&Gender=female.

ตัวอย่างของ POST

ข้อมูลที่ส่งมาจากแบบฟอร์มอาจปรากฏขึ้นเช่น ชื่อ = AI + Alena และอายุ = 23 และเพศหญิง =. โปรแกรมจัดการข้อมูลโดยแบ่งพาร์ติชันข้อมูล ข้อมูลในฟอร์มสามารถเข้ารหัสต่างกันโดยใช้ ENCTYPE คุณลักษณะในวิธีการ POST

เนื้อหาแบบฟอร์มมักจะไม่เห็นใน URL และข้อได้เปรียบหลักคือสามารถส่งข้อมูลจำนวนมากโดยใช้วิธีการ POST

ข้อสรุป

วิธีการ GET และ POST ใช้สำหรับการนำข้อมูลไปยังเซิร์ฟเวอร์และความแตกต่างที่สำคัญระหว่างวิธีการนั้นคือวิธีการ GET ต่อท้ายข้อมูลไปยัง URI ที่กำหนดไว้ในแอตทริบิวต์การกระทำของแบบฟอร์ม ตรงกันข้ามวิธีการโพสต์แนบข้อมูลไปยังร่างกายที่ร้องขอ การใช้วิธีการ GET นั้นไม่เหมาะสมเมื่อจำเป็นต้องกรอกข้อมูลที่ละเอียดอ่อนในแบบฟอร์ม วิธีการ POST มีประโยชน์เมื่อผู้ใช้ต้องการกรอกรหัสผ่านหรือข้อมูลลับอื่น ๆ