Disyorkan, 2024

Pilihan Editor

Perbezaan antara GET dan POST Kaedah dalam HTML

GET dan POST adalah dua teknik yang efisien yang dapat menghantar data ke pelayan dan penyemak imbas semestinya memerlukannya untuk berkomunikasi dengan pelayan. Kedua-dua kaedah adalah berbeza di mana kaedah GET menambah data yang dikodkan ke URI manakala dalam kes kaedah POST data dilampirkan kepada badan dan bukannya URI. Di samping itu, kaedah GET digunakan untuk mendapatkan semula data. Sebaliknya, kaedah POST digunakan untuk menyimpan atau mengemas kini data.

Tag borang digunakan untuk menyatakan kandungan borang; ini juga dikenali sebagai kawalan bentuk . Borang-borang ini dipenuhi dengan data yang dihantar kepada mesin jauh untuk diproses selanjutnya. Fungsi borang ini termasuk dua perkara penting: bekas adalah spesifikasi alamat program yang menangani kandungan bentuk dengan bantuan TINDAKAN . Kemudian adalah spesifikasi kaedah di mana data bentuk mengalir dengan bantuan atribut METODE .

Atribut atur cara menerangkan, bagaimana bentuk HTML akan dikendalikan. Atribut METODA menguruskan proses penyerahan data. Kaedah GET dan POST terletak di bawah atribut METHOD.

Carta Perbandingan

Asas untuk perbandinganGETPOST
Parameter diletakkan di dalamURIBadan
TujuanMendapatkan semula dokumenKemas kini data
Keputusan pertanyaanMampu dijadikan bookmark.Tidak boleh ditandakan.
KeselamatanRentan, seperti yang terdapat dalam plaintextLebih selamat daripada kaedah GET
Borang kekangan jenis dataHanya aksara ASCII yang dibenarkan.
Tiada kekangan, walaupun data binari dibenarkan.
Panjang data borangPerlu disimpan sekecil mungkin.Boleh berbohong dalam sebarang julat.
KeterlihatanBoleh dilihat oleh sesiapa sahaja.Tidak memaparkan pembolehubah dalam URL.
Saiz berubahSehingga 2000 watak.Sehingga 8 Mb
CachingData kaedah boleh cache.Tidak cache data.

Takrif Kaedah GET

Kaedah GET digunakan untuk meminta URL dari pelayan web untuk mengambil dokumen HTML. Ini adalah kaedah konvensional untuk pelayar untuk menyampaikan maklumat yang dikira sebagai sebahagian daripada protokol HTTP. Kaedah GET diwakili dalam bentuk URL, supaya ia boleh diimbar. GET digunakan secara meluas dalam enjin carian. Selepas penyerahan pertanyaan oleh pengguna ke enjin gelintar, enjin melaksanakan pertanyaan dan memberikan halaman yang dihasilkan. Keputusan pertanyaan boleh ditetapkan sebagai pautan (bookmark).

Kaedah GET membolehkan penjanaan sauh, yang membantu dalam mengakses program CGI dengan pertanyaan menyimpang penggunaan borang. Pertanyaannya dibina menjadi pautan, jadi apabila pautan dikunjungi program CGI akan mengambil maklumat yang sesuai dari pangkalan data.

Kaedah GET mempunyai beberapa isu keselamatan kerana data yang dimasukkan dapat dilihat dalam URL. Hanya jumlah data terhad yang boleh dilalui melalui kaedah GET, kerana panjang URL yang boleh dilayari oleh pelayar boleh beribu-ribu aksara.

Satu lagi isu mengenai kaedah GET adalah bahawa ia tidak dapat menangani bahasa asing. Kaedah GET tidak dicadangkan untuk digunakan tetapi masih apabila atribut kaedah tidak ditakrifkan sebagai kaedah GET digunakan sebagai lalai.

Takrif Kaedah POST

Kaedah POST sesuai dalam keadaan di mana sejumlah besar maklumat boleh dilalui. Apabila pelayan menerima permintaan dengan bentuk yang menggunakan POST, ia terus "mendengar" untuk maklumat kiri. Dalam kata yang mudah, kaedah memindahkan semua maklumat yang relevan dari input borang serta-merta selepas permintaan ke URL dibuat.

Kaedah POST perlu mewujudkan dua kenalan dengan pelayan web sedangkan GET hanya membuat satu. Permintaan dalam POST diuruskan dengan cara yang sama seperti yang diuruskan dalam kaedah GET di mana ruang diwakili dalam tanda tambah (+) dan rehat aksara dikodkan dalam corak URL. Ia juga boleh menghantar item fail.

Perbezaan Utama Antara Kaedah GET dan POST dalam HTML

  1. Kaedah GET meletakkan parameter di dalam URI manakala kaedah POST menambahkan parameter ke dalam badan.
  2. GET pada asasnya digunakan untuk mengambil maklumat. Sebaliknya, tujuan kaedah POST adalah untuk mengemas kini data.
  3. Keputusan pertanyaan POST tidak boleh diimbar sementara hasil GET pertanyaan boleh ditanda-tulis kerana ia wujud dalam bentuk URL.
  4. Dalam kaedah GET maklumat boleh dilihat di URL yang meningkatkan kelemahan dan risiko penggodaman. Sebaliknya, kaedah POST tidak menunjukkan pemboleh ubah dalam URL dan pelbagai teknik pengekodan juga boleh digunakan di dalamnya, yang menjadikannya berdaya tahan.
  5. Apabila kaedah GET digunakan dalam bentuk, hanya aksara ASCII diterima dalam jenis data. Sebaliknya, kaedah POST tidak mengikat jenis data bentuk dan membenarkan binari serta aksara ASCII.
  6. Saiz berubah dalam kaedah GET adalah lebih kurang 2000 aksara. Inversely, kaedah POST membolehkan saiz variabel 8 Mb.
  7. Data kaedah GET dikosongkan sementara kaedah POST data tidak.


Contoh GET

Apabila pengguna memasuki mana-mana URL di bar lokasi penyemak imbas, seperti http // www.example.com/xyz/file1.htm . Alamat itu kemudian ditukarkan ke permintaan HTTP GET yang sah, contohnya, GET / xyz / file1.htm HTTP / 1.0 .

Permintaan ini kemudiannya dipindahkan ke www.example.com pelayan. Permintaan itu meminta file1.htm dalam direktori xyz, dan sama ada ia menyambung ke 1.0 dialek HTTP. Di sini pengguna tidak mendapat fail dengan sendirinya setelah menghantar fail, sebenarnya program berjalan di latar belakang untuk mengendalikan data bentuk.

Pengguna memerlukan untuk lulus data borang dengan nama program untuk pelaksanaannya. Untuk mencapai pelaksanaan ini, maklumat borang dilampirkan ke URL yang diminta. Ia menjana URL yang mempunyai seratus aksara bersama dengan data sebenar, misalnya, //www.example.com/cgi-x/comments.exe?Name=AI+Alena&Age=23&Gender=female .

Contoh POST

Data yang dihantar melalui borang boleh muncul seperti Nama = AI + Alena & Umur = 23 & Jantina = perempuan . Program ini mengendalikan data dengan memisahkan data. Data borang boleh dikodkan secara berlainan menggunakan atribut ENCTYPE dalam kaedah POST.

Isi borang tidak biasanya dilihat di URL dan kelebihan utamanya ialah sejumlah besar data boleh diserahkan menggunakan kaedah POST.

Kesimpulannya

Kaedah GET dan POST digunakan untuk menghantar data ke pelayan, dan perbezaan utama di antara mereka ialah kaedah GET menambah data kepada URI yang ditakrifkan dalam atribut tindakan bentuk. Sebaliknya, kaedah POST melampirkan data ke badan yang diminta. Penggunaan kaedah GET tidak sesuai apabila maklumat sensitif perlu diisi dalam bentuk. Kaedah POST berguna apabila pengguna memerlukan mengisi kata laluan atau maklumat sulit lain.

Top