Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

อะไรคือความแตกต่างระหว่างวิธี GET และ POST ในโปรโตคอล HTTP


วิธี GET

เมธอด GET จะส่งข้อมูลผู้ใช้ที่เข้ารหัสซึ่งต่อท้ายคำขอของเพจ หน้าและข้อมูลที่เข้ารหัสจะถูกคั่นด้วย ? อักขระดังต่อไปนี้ −

https://www.test.com/hello?key1=value1&key2=value2

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

วิธี GET มีข้อจำกัดด้านขนาด:มีอักขระได้เพียง 1024 ตัวในสตริงคำขอ .

ข้อมูลนี้ถูกส่งโดยใช้ QUERY_STRING ส่วนหัว และจะสามารถเข้าถึงได้ผ่านตัวแปรสภาพแวดล้อม QUERY_STRING ซึ่งสามารถจัดการได้โดยใช้ getQueryString() และ getParameter() วิธีการของวัตถุที่ร้องขอ

วิธีการโพสต์

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

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