Bagi anda yang sudah terbiasa membuat form dalam HTML pasti sudah
sering melihat kode yang tersusun dalam sebuah form, termasuk atribut form yang
digunakan. Salah satu atribut yang digunakan dalam form adalah method.
Atribut method bisa diberi nilai dengan POST atau GET. Apa perbedaan keduanya
dan apa kekurangan serta kelebihanya??
Secara mendasar fungsi POST digunakan untuk mengirimkan data ke
server, sedangkan GET digunakan untuk mengambil data dari server.
Secara teknis GET diproses lebih sederhana karena permintaan
dikirimkan melalui alamat halaman (URL) dengan sistem penulisan secara
berpasangan yaitu nama varibel dan nilainya, dan pemisahan variabel menggunakan
karakter dan &. Contoh :
http://www.zainalhakim.web.id/index.php?nama=zainal&alamat=jalan&telp=8388383
Dengan menggunakan metode GET, HTTP Client bisa mengambil
informasi dari server dengan mengirimkan data melalui URI walaupun bisa juga
dengan form yang menggunakan metode GET.
Sedangkan pengiriman data dengan POST lebih tertutup dan jauh
lebih aman karena data yang dikirimkan tidak terlihat. Metode POST digunakan
untuk mengirimkan data dari HTTP Client untuk diproses di HTTP Server, kemudian
HTTP server memberikan hasil dari proses tersebut ke HTTP Client. Data yang
dikirimkan dengan metode POST disertakan pada baris permintaan (body of
request) bukan pada URI. Dan hasil dari permintaan dengan metode POST ini tidak
bersifat cacheable.
Berikut perbedaan lengkap dari method POST dan GET
PERBEDAAN
|
POST
|
GET
|
History
|
Parameter/nilai tidak
tersimpan di browser
|
Parameter/nilai
tersimpan dibrowser dan bisa diakses ulang karena nilai menjadi kesatuan URL
|
Bookmark
|
Parameter/nilai tidak
dapat dibookmark
|
Parameter bisa
dibookmark
|
Tombol Kembali/Kirim
Ulang
|
Biasanya browser
memberitahukan/menanyakan apakah data akan dikirim ulang
|
Dengan methot get,
halaman sebelumnya langsung ditampillkan tanpa mengeksekusi kembali karena
tersimpan dalam cache browser
|
Encoding type (enctype
attribute)
|
Mendukung pengiriman
data binner dengan teknik multipart/form-data atau
application/x-www-form-urlencoded
|
hanya mendukung
application/x-www-form-urlencoded
|
Parameters
|
Dapat mengirimkan
parameter url sekaligus mengirimkan data tersembunyi ke server
|
Hanya bisa mengirimkan
parameter melalui URL
|
Kecurangan data
|
Lebih sulit karena
tertutup
|
Lebih terbuka karena
data terlihat
|
Keamanan
|
Dengan method POST
lebih aman karena data langsung dikirim ke server
|
Dengan jelas bisa
ketahui data apa saja yang dikirim
|
Penggunaan
|
POST digunakan untuk
mengirim data yang lebih rahasia seperti password
|
Digunakan lebih untuk
keperluan mengambil data
|
Besar data yang
dikirim
|
Standard 8 Mb,
tergantung konfigurasi server
|
7607 karakter
|
<form id="FCONTOH" name="CONTOH"
method="post" action="simpan.php">
<p> Nama : <br
/>
<input
name="nama" type="text" id="nama"
size="20" />
</p>
<p>Alamat : <br
/>
<textarea
name="alamat" cols="30" rows="3"
id="alamat"></textarea>
</p>
<p>
<input
type="submit" name="button" id="button"
value="Kirim" />
</p>
</form>
Untuk model form method post, pada bagian tag form atribut
method diberi nilai post sehingga semua nilai dikirimkan tersembunyi
menuju nilai yang di set pada action yaitu file simpan.php.
Sedangkan file simpan.php sendiri harus mengambil nilai dari form
yang dibuat dengan cara :
<?php
echo $_POST['nama'];
echo $_POST['alamat'];
?>
<form id="FCONTOH" name="CONTOH"
method="get" action="simpan.php">
<p> Nama : <br
/>
<input
name="nama" type="text" id="nama"
size="20" />
</p>
<p>Alamat : <br
/>
<textarea
name="alamat" cols="30" rows="3"
id="alamat"></textarea>
</p>
<p>
<input
type="submit" name="button" id="button"
value="Kirim" />
</p>
</form>
Sedikit berbeda dengan method post, form akan mengirim nilai isian
dengan cara terbuka dalam url yang ditempelkan pada file simpan.php, sehingga
tujuan form yang semula hanya simpan.php berubah menjadi :
simpan.php?nama=zainal&alamat=Banjarmasin&button=Kirim
dimana simpan.php adalah nama tujuan, dan setelah tanda ?
disertakan nilai yang dikirimkan seperti nama=zainal alamat=banjarmasin dst.
File simpan bisa mengenali nilai yang dikirim oleh form dengan
cara :
<?php
echo $_GET['nama'];
echo $_GET['alamat'];
?>
Selain dengan menggunakan form dengan atribut get, kita juga bisa
mengirimkan nilai seperti diatas menggunakan metode parameter hyperlink yang
dibuat seperti :
<a
href="simpan.php?nama=zainal&alamat=Banjarmasin">Kirim</a>
Sehingga pada saat menu kirim di klik maka halaman akan menuju
simpan.php dan mengirimkan nilai nama=zainal alamat=banjarmasin.
Metode hyperlink ini sering digunakan pada contoh kasus edit data
mupun delete data yang membawa nilai kunci ke file yang akan memperoses data
selanjutnya.
Metode yang mana yang harus dipilih dari POST dan GET??
Keduanya mempunyai kelebihan serta kekurangan, tinggal kita memilahnya. Untuk
keperluan yang sifatnya rahasia, memerlukan tingkat keamanan lebih sebaiknya
menggunakan method POST sedangkan keperluan umum seperti pengiriman parameter
nilai, proses pencarian dll kita bisa gunakan method GET.
Sumber : http://www.zainalhakim.web.id/posting/perbedaan-form-method-post-dan-get.html
0 komentar for "Perbedaan Get dan Post "
Posting Komentar