Perbezaan antara get dan pos
- 1711
- 524
- Brandon Haag
Dapatkan vs pos
'Get' dan 'pos' adalah kaedah HTTP untuk menghantar parameter data dari pelayar klien ke pelayan. Parameter ini boleh menjadi input bentuk, pertanyaan carian dari tab carian, dll. Setiap kali laman web harus bertindak balas dengan pengguna atau kami juga boleh mengatakannya sebagai laman web interaktif pengguna, maka kaedah HTTP ini memainkan peranan penting untuk membekalkan input khusus pengguna ke pelayan. Tetapi anda mungkin tertanya -tanya mengapa kami memerlukan dua kaedah yang berbeza hanya untuk menghantar input? Untuk menjawab soalan ini, sangat penting untuk memahami bagaimana kaedah ini berfungsi supaya anda dapat lebih memahami perbezaan sebenar.
Sintaks:
Marilah kita melihat sintaks untuk kaedah HTTP mendapatkan dan hantar.
(Ini adalah sintaks untuk mendapatkan)
(Ini adalah sintaks untuk jawatan)
Tidak ada perbezaan utama sintaks kecuali untuk mendapatkan atau menyiarkannya.
Bagaimana input dihantar ke pelayan?
Input dilampirkan ke URL berikutan '?'Dalam kaedah mendapatkan sedangkan ia dihantar secara berasingan sebagai mesej dalam catatan kaedah. Kadang -kadang, anda dapat melihat pertanyaan carian anda di URL setelah anda tekan Enter. Jika tidak, cubalah sekali di google. Sekiranya mendapat kaedah, anda dapat melihat pertanyaan carian selepas '?'dalam url yang sama. Pada masa yang sama, kita tidak dapat membaca input apabila kita menggunakan pos kerana ia pergi secara berasingan dan bukan dengan URL.
Jenis Input:
Apabila masukkan input ke URL, ia harus masuk dalam bentuk aksara ASCII. Tetapi jawatan juga boleh menghantar data binari tanpa sebarang sekatan. Oleh itu, pos lebih fleksibel dengan jenis input kerana ia membolehkan kedua -dua ASCII serta data binari.
Kiraan parameter:
Kaedah GET boleh menghantar hanya parameter terhad berbanding dengan jawatan. Biasanya, ia terhad kepada bilangan, 2k, dan dalam beberapa kes, pelayan boleh mengendalikan parameter kiraan sehingga 64k. Tetapi kaedah pos mampu menghantar fail ke pelayan, dalam bentuk mesej. Ya, apabila kita membandingkan kedua -duanya, kita boleh mengatakan bahawa jawatan lebih baik untuk menghantar lebih banyak input sebagai parameter.
Saiz input:
Umumnya, panjang URL yang dibenarkan maksimum tertakluk kepada penyemak imbas yang kami gunakan dan pelayan web yang memproses permintaan URL. Apabila mendapatkan input menghantar bersama dengan URL, kami boleh menghantar maksimum 2048 aksara dan dalam beberapa kes, ia berbeza -beza. Tetapi tidak ada sekatan pada saiz input ketika kami menggunakan kaedah pos.
Keterlihatan Input:
Sekiranya anda telah menguji carian google, anda dapat memahami bahawa input mendapat nampaknya dapat dilihat oleh orang lain. Ini kerana input hanya dilampirkan ke URL dan sesiapa sahaja dapat melihatnya di ruang URL. Tetapi jika kaedah pos telah digunakan maka tiada siapa yang dapat mengenal pasti apa yang telah kami hantar sebagai input. Sekiranya anda tidak banyak mengambil berat tentang penglihatan input anda, maka teruskanlah dengan mendapatkan. Jika tidak, gunakan siaran untuk menyembunyikan input anda dari orang lain.
Kaedah lalai:
Sekarang, anda dapat memahami bagaimana kedua -dua kaedah berfungsi untuk menghantar input ke pelayan. Kerana kesederhanaan penggunaan dan penghantaran parameter, kaedah lalai HTTP dipilih sebagai 'get'. Walaupun kaedah pos mempunyai pelbagai kelebihan ke atas, yang lebih mudah mendapat keutamaan semasa mengambil sebagai lalai. Jadi, apabila anda tidak menentukan kaedah secara khusus, ia dianggap sebagai permintaan GET.
Sejarah penyemak imbas:
Sebagai kaedah GET menghantar data melalui URL, data yang telah dihantar kekal dalam sejarah pelayar web. Oleh itu, sesiapa sahaja dapat melihat apa yang telah kami hantar ke pelayan dengan memeriksa sejarah penyemak imbas kami. Kaedah Pos tidak membuat peluang sedemikian kerana tidak pernah membenarkan pelayar menyimpan maklumat. Malah, tidak ada kaitan dengan pelayar web apabila data dihantar dengan kaedah pos 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? Mari kita lihat pelbagai faktor keselamatan untuk mengenal pasti perkara yang sama.
- Bookmarking: Kaedah get membolehkan penanda buku tetapi pos tidak pernah membenarkannya. Data penanda buku dapat dilihat oleh sesiapa sahaja dan ia benar -benar merupakan ancaman keselamatan! Sekiranya data anda mengandungi banyak maklumat sensitif seperti kata laluan, butiran akaun bank, dan lain -lain, maka dapatkan dapat membocorkan semua itu kepada orang lain. Oleh itu, lebih baik untuk meneruskan siaran jika anda mengendalikan maklumat sensitif.
- Caching: Memory Cache menyimpan maklumat untuk pengambilan masa depan dan, sebenarnya, menjimatkan masa kita. Walaupun nampaknya melakukan pekerjaan yang berguna, ada kemungkinan kebocoran data ketika maklumat cache pergi ke tangan yang salah. GET membolehkan caching sedangkan jawatan tidak pernah membenarkan caching sama sekali! Oleh itu, jawatan tetap lebih selamat daripada mendapatkan.
- Menyegarkan atau belakang: Apabila kita mengklik ikon penyegaran atau belakang, URL laman web akan dilaksanakan semula. Tetapi pelaksanaan semula ini tidak berlaku apabila data yang lebih lama berada dalam ingatan cache sistem anda. Oleh itu dalam senario sedemikian, ada kemungkinan anda mendapat data yang sudah diambil dari pelayan apabila menyegarkan semula atau kembali. Kita harus mengenal pasti bila senario ini berlaku, sama ada dengan get atau post? Seperti yang kita tahu bahawa caching berlaku dengan get dan bukan dengan pos, pengambilan data yang lebih lama hanya mungkin dengan mendapatkan. Walaupun ia boleh berlaku dengan pos tetapi ia meminta kebenaran pengguna sebelum melakukannya. Ya, kami mendapat makluman sebelum pengambilan semula dalam jawatan.
- Hacking: Sesiapa sahaja yang secara teknikalnya kuat dapat memecahkan url yang berkaitan dengan kaedah GET dan dapat menangkap maklumat kami. Tetapi ini tidak mungkin dengan pos dan sekurang -kurangnya memerlukan usaha besar untuk memecahkannya! Oleh itu, kebanyakan masa kita selamat apabila pos digunakan daripada menggunakan GET.
Bila Menggunakan Get & Bila Menggunakan Pos?
Dari perbincangan kami, sangat jelas bahawa GET kurang dijamin dan tidak digalakkan untuk digunakan apabila kami mengendalikan maklumat sensitif yang banyak. Sejarah penyemak imbas dan penyemak imbas web dapat membiarkan maklumat kami kepada orang lain dalam hal mendapatkan. Tetapi Post tetap selamat walaupun dalam keadaan seperti itu tidak pernah membenarkan caching, penanda buku, dll. Oleh itu, lebih baik menggunakan pos apabila anda menghantar banyak data selamat.
Mari kita lihat perbezaan yang lebih mudah untuk memahami bentuk jadual.
S.Tidak | Perbezaan dalam | Permintaan HTTP | |
Dapatkan | Jawatan | ||
1 | Sintaks | Menggunakan kata kunci 'GET'. | Menggunakan kata kunci 'pos'. |
2 | Bagaimana input dihantar? | Bersama dengan URL Menambah selepas simbol '?'. | Dalam bentuk mesej. |
3 | Jenis input | Watak ASCII. | Watak ASCII atau binari. |
4 | Kiraan parameter | Boleh mengendalikan parameter 2k hingga 64k berdasarkan pelayan. | Tiada had. |
5 | Saiz input | Membolehkan sehingga 2048 aksara. | Tiada had. |
6 | Keterlihatan data yang dihantar | Tetap dapat dilihat oleh semua kerana ia tinggal di ruang URL. | Tidak dapat dilihat kerana ia dihantar sebagai mesej. |
7 | Kaedah HTTP lalai | Ya . | Tidak. |
8 | Sejarah penyemak imbas | Data yang dihantar kekal dalam sejarah penyemak imbas web dan boleh dilihat oleh sesiapa sahaja. | Data yang dihantar nev.er tinggal dalam sejarah penyemak imbas web dan oleh itu tidak ada yang dapat melihatnya. |
9 | Penanda buku | Ia membolehkan URL ditandakan dan, seterusnya, data yang dihantar. | Tidak ada kaitan dengan data yang dihantar walaupun laman web ditandai. Oleh kerana halaman yang ditandakan bookmark tidak menyimpan maklumat pengguna. |
10 | Caching | Halaman cache menyimpan input pengguna dan membenarkan pengambilan masa depan. | Halaman cache tidak pernah menyimpan input pengguna. |
11 | Menyegarkan atau kembali | Tindakan penyegaran atau belakang tidak melaksanakan semula permintaan jika eksekusi yang lebih lama kekal .Memori cache. Juga, pengambilan semula dari cache berlaku tanpa sebarang mesej amaran kepada pengguna. Oleh itu, pengguna mungkin berfikir bahawa ia adalah yang terbaru tetapi, pada gilirannya, pelayan mungkin mengandungi data yang berbeza. | Tindakan penyegaran atau belakang mengambil data dari cache hanya setelah menghantar mesej amaran kepada pengguna. Pengguna boleh membatalkannya dan juga boleh melaksanakannya untuk mengambil data terkini dari cache. |
12 | Penggodaman | Ia boleh dilakukan dengan mudah. | Sukar untuk menggodam. |
13 | Bila hendak digunakan? | 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 keprihatinan terhadap keselamatan. | 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 jelas bahawa Get dan Post melakukan kerja menghantar input ke pelayan tetapi kedua -duanya berfungsi dengan cara yang berbeza. Berdasarkan keperluan kita dapat menggunakan kaedah http apt i.e. get atau jawatan.
- « Perbezaan antara tadpoles dan katak
- Perbezaan antara penunjuk prestasi utama (KPI) dan Perjanjian Tahap Perkhidmatan (SLA) »