cari

Rumah  >  Soal Jawab  >  teks badan

Kaedah GET atau POST: fahami perbezaannya dan tahu bila hendak menggunakannya

Apakah perbezaan antara menggunakan kaedah GETPOST? Mana satu lebih selamat? Apakah kelebihan dan kekurangan masing-masing?

(Soalan serupa)

P粉463811100P粉463811100412 hari yang lalu624

membalas semua(2)saya akan balas

  • P粉884548619

    P粉8845486192023-10-15 14:16:09

    Apabila pengguna memasukkan maklumat ke dalam borang dan mengklik "Serah," maklumat itu boleh dihantar daripada penyemak imbas ke pelayan dalam dua cara: dalam URL atau dalam kandungan permintaan HTTP.

    Kaedah GET yang digunakan dalam contoh sebelumnya menambahkan pasangan nama/nilai pada URL. Malangnya, panjang URL adalah terhad, jadi kaedah ini hanya berfungsi dengan sangat sedikit parameter. Jika borang menggunakan sejumlah besar parameter, atau jika parameter mengandungi sejumlah besar data, URL mungkin dipotong. Selain itu, parameter yang dihantar pada URL boleh dilihat dalam medan alamat penyemak imbas, yang bukan tempat terbaik untuk memaparkan kata laluan.

    Alternatif kepada kaedah GET ialah kaedah POST. Kaedah ini membungkus pasangan nama/nilai dalam kandungan permintaan HTTP, yang menjadikan URL lebih bersih dan tidak meletakkan had saiz pada output borang. Ia juga lebih selamat.

    balas
    0
  • P粉002023326

    P粉0020233262023-10-15 12:54:06

    Ini bukan isu keselamatan. Protokol HTTP mentakrifkan permintaan jenis GET sebagai idempoten, manakala POST mungkin mempunyai kesan sampingan. Dalam bahasa Inggeris biasa, ini bermakna GET digunakan untuk melihat sesuatu tanpa mengubahnya, dan POST digunakan untuk mengubah sesuatu. Sebagai contoh, halaman carian harus menggunakan GET, manakala borang untuk menukar kata laluan anda harus menggunakan POST.

    Selain itu, sila ambil perhatian bahawa PHP mengelirukan sedikit konsep ini. Permintaan POST mengambil input daripada rentetan pertanyaan dan badan permintaan. Permintaan GET hanya mendapatkan input daripada rentetan pertanyaan. Jadi permintaan POST ialah superset permintaan GET; anda boleh menggunakan $_GET,甚至可以在 $_POST$_GET dalam permintaan POST dengan parameter nama yang sama yang bermaksud perkara yang berbeza.

    Sebagai contoh, katakan anda mempunyai borang untuk mengedit artikel. ID artikel mungkin dalam rentetan pertanyaan (dan oleh itu diluluskan $_GET['id'] 获得),但假设您想要更改文章 ID。然后,新的 ID 可能会出现在请求正文中 ($_POST['id']). Okay, mungkin ini bukan contoh terbaik, tetapi saya harap ia menggambarkan perbezaannya.

    balas
    0
  • Batalbalas