Dapatkan vs Post
'Get' dan 'Post' adalah METODE HTTP untuk menghantar parameter data dari pelayar klien ke pelayan. Parameter ini boleh menjadi input form, pertanyaan carian dari tab carian, dan lain-lain. Setiap kali halaman web harus memberi balasan kepada masing-masing kepada pengguna atau kita bahkan boleh mengatakannya sebagai halaman web interaktif pengguna, maka METODE HTTP ini memainkan vital peranan untuk membekalkan input khusus pengguna ke pelayan. Tetapi anda mungkin tertanya-tanya mengapa kita memerlukan dua kaedah yang berbeza untuk menghantar input? Untuk menjawab soalan ini, sangat penting untuk memahami cara kaedah ini berfungsi supaya anda dapat memahami perbezaan sebenar.
Sintaks:
Marilah kita melihat sintaks untuk Dapatkan dan Mengeluarkan Kaedah HTTP.
(Inilah sintaks untuk Dapatkan)
(Ini adalah sintaks untuk Post)
Tiada perbezaan utama dalam sintaks kecuali perkataan Get or Post.
Bagaimana Input dihantar ke Pelayan?
Input dimasukkan ke URL berikutan '?' dalam kaedah Dapatkan sedangkan ia dihantar secara berasingan sebagai mesej dalam kaedah Post. Kadangkala, anda dapat melihat pertanyaan carian anda di URL selepas anda menekan masuk. Jika tidak, cubalah sekali di Google. Jika kaedah Dapatkan, anda boleh melihat pertanyaan carian selepas '?' dalam URL yang sama. Pada masa yang sama, kita tidak dapat membaca input apabila kita menggunakan Post kerana ia secara berasingan dan bukan dengan URL.
Jenis Input:
Sebagai input masuk ke URL, ia harus berupa aksara ASCII. Tetapi Pos bahkan boleh menghantar data Perduaan tanpa sebarang sekatan. Oleh itu, Post lebih fleksibel kepada jenis input kerana ia membolehkan kedua-dua ASCII serta data Perduaan.
Kiraan parameter:
Kaedah Get boleh menghantar hanya parameter terhad jika dibandingkan dengan Post. Biasanya, ia terhad kepada nombor, 2K, dan dalam sesetengah kes, pelayan boleh mengendalikan parameter kiraan sehingga 64k. Tetapi kaedah Post mampu menghantar walaupun fail ke pelayan, dalam bentuk mesej. Ya, apabila kita bandingkan kedua-duanya, kita boleh mengatakan bahawa Pos lebih baik untuk menghantar lebih banyak masukan sebagai parameter.
Saiz Input:
Secara umumnya, panjang URL yang dibenarkan adalah tertakluk kepada pelayar yang kami gunakan dan pelayan web yang memproses permintaan URL. Oleh kerana Mengirim input bersama dengan URL, kami boleh menghantar maksimum 2048 aksara dan dalam beberapa kes, ia berbeza. Tetapi tidak ada batasan pada saiz input apabila kami menggunakan kaedah Post.
Keterlihatan Input:
Jika anda telah menguji carian Google, anda mungkin dapat memahami bahawa Dapatkan input nampaknya dapat dilihat oleh orang lain. Ini kerana input hanya dimasukkan ke URL dan sesiapa sahaja boleh melihatnya di ruang URL. Tetapi jika kaedah Post telah digunakan maka tiada siapa yang dapat mengenal pasti apa yang telah kami hantar sebagai input. Jika anda tidak terlalu peduli tentang keterlihatan input anda, maka teruskan dengan Dapatkan. Jika tidak, gunakan Post untuk menyembunyikan input anda dari orang lain.
Kaedah Lalai:
Sekarang, anda boleh memahami bagaimana kedua-dua kaedah berfungsi untuk menghantar input kepada pelayan. Kerana kesederhanaan penggunaan dan penghantaran parameter, kaedah default HTTP dipilih sebagai 'Get'. Walaupun kaedah Post mempunyai pelbagai kelebihan berbanding Get, yang lebih sederhana mengambil keutamaan sambil mengambil sebagai lalai. Jadi, apabila anda tidak menentukan kaedah khusus, ia dianggap sebagai permintaan Dapatkan.
Sejarah Penyemak Imbas:
Oleh kerana kaedah Mendapatkan data melalui URL, data yang telah dihantar masih dalam sejarah penyemak imbas web. Oleh itu, sesiapa sahaja dapat melihat apa yang telah kami hantar ke pelayan dengan memeriksa sejarah penyemak imbas kami. Kaedah Post tidak mencipta peluang seperti itu kerana tidak pernah membenarkan penyemak imbas menyimpan maklumat. Malah, tidak ada kaitan dengan penyemak imbas web apabila data dihantar dengan kaedah Post kerana semuanya dihantar melalui mesej.
Yang selamat?
Kami telah menganalisis pelbagai perbezaan antara kaedah Get dan Post dan sudah tiba masanya untuk mengetahui yang dijamin? Marilah kita melihat pelbagai faktor keselamatan untuk mengenal pasti perkara yang sama.
Bila menggunakan Get & When untuk menggunakan Post?
Dari perbincangan kami, adalah jelas bahawa Get kurang terjamin dan tidak dianjurkan untuk digunakan apabila kami mengendalikan banyak maklumat sensitif. Sejarah cache dan pelayar web boleh membiarkan maklumat kami kepada orang lain dalam kes Dapatkan. Tetapi Post tetap selamat walaupun dalam keadaan seperti tidak pernah membenarkan caching, Bookmarking, dll. Oleh itu, lebih baik menggunakan Post apabila anda menghantar banyak data yang selamat.
Marilah kita melihat perbezaan dalam lebih mudah untuk memahami bentuk jadual.
S.No | Perbezaan dalam | Permintaan HTTP | |
GET | POST | ||
1 | Sintaks | Menggunakan kata kunci 'get'. | Menggunakan Kata Kunci 'Pos'. |
2 | Bagaimana input dihantar? | Bersama dengan URL yang ditambahkan selepas simbol '?'. | Dalam bentuk mesej. |
3 | Jenis Input | Aksara ASCII. | Aksara ASCII atau Perduaan. |
4 | Count Parameter | Boleh mengendalikan 2k ke 64k parameter berdasarkan pelayan. | Tiada had. |
5 | Saiz Input | Membolehkan sehingga 2048 aksara. | Tiada had. |
6 | Keterlihatan data yang dihantar | Kekal kelihatan kepada semua kerana ia berada di ruang URL. | Tidak dapat dilihat kerana ia dihantar sebagai mesej. |
7 | Kaedah HTTP lalai | Ya . | Tidak. |
8 | Sejarah Penyemak Imbas | Data yang dihantar masih dalam sejarah penyemak imbas web dan boleh dilihat oleh sesiapa sahaja. | Data yang dihantar nev.er berada dalam sejarah penyemak imbas web dan oleh itu tiada siapa yang dapat melihatnya kemudian. |
9 | Penanda buku | Ia membenarkan URL untuk diposkan dan seterusnya, data dihantar. | Tiada apa-apa kaitan dengan data yang dihantar walaupun laman web adalah bookmark. Oleh kerana halaman yang ditandai tidak menyimpan sebarang maklumat pengguna. |
10 | Caching | Halaman yang di-cache menyimpan input pengguna dan membolehkan pengambilan masa depan. | Halaman yang di-cache tidak menyimpan input pengguna. |
11 | Refresh atau Back | Tindakan Refresh atau Back tidak lagi melaksanakan permintaan jika eksekusi yang lebih lama tetap berada di memori ingatan. Juga, pengambilan semula dari cache berlaku tanpa sebarang mesej berjaga-jaga kepada pengguna. Oleh itu, pengguna mungkin berfikir bahawa ia adalah yang terkini tetapi, pada gilirannya, pelayan mungkin mengandungi data yang berbeza. | Tindakan Refresh atau Back mengambil data dari cache hanya selepas menghantar mesej amaran kepada pengguna. Pengguna boleh membatalkannya dan juga boleh melaksanakannya semula untuk mengambil data terkini dari cache. |
12 | Hacking | Ia boleh dilakukan dengan mudah. | Ia sukar untuk menggodam. |
13 | Bila hendak digunakan? | Ia paling sesuai untuk menghantar data yang kurang sensitif seperti pertanyaan carian, mesej sembang, kandungan media sosial, penyelidikan dalam talian, dan lain-lain di mana tidak ada kebimbangan terhadap keselamatan. | Ia paling sesuai untuk menghantar banyak data sensitif seperti kata laluan, butiran akaun bank, dan lain-lain di mana keselamatan adalah yang paling membimbangkan. |
Oleh itu kami adalah jelas bahawa Get and Post melakukan kerja menghantar input ke pelayan tetapi kedua-duanya berfungsi dengan berbeza. Berdasarkan keperluan, kita boleh menggunakan Kaedah HTTP yang sesuai iaitu Dapatkan atau siaran.