# Hack Your Skills! to be Professional Mechatronics
Apa sudah bisa merasakan beda antara GET dan POST? :)
Perbedaan GET dan POST Data pada HTTP (PHP?)
ElangSakti
HTTP GET Data
,
HTTP POST Data
,
Informatika
,
Know How
,
Live HTTP Header
,
PHP
,
Scrap of Scripts
2 komentar
Pada tulisan kali ini kita akan memperdalam tentang metode pengiriman data yang dikirimkan dari client ke server pada WEB/HTTP, yaitu salah duanya menggunakan GET dan POST. Kita bisa memeriksanya di RFC2616 tentang HTTP 1.1 (http://tools.ietf.org/html/rfc2616). Agar kita yang sedang belajar mudah memahami tulisan ini, akan saya beri contoh menggunakan sampel halaman web. Semoga bisa membantu bagi yang sedang belajar.
Untuk percobaan, anggap saja kita punya server localhost yang terinstall Apache dan PHP. Kemudian kita mempunyai file ( dengan nama form_daftar.php) dengan dua form isian pendaftaran untuk menjadi member di website kita. Kedua form tersebut isinya sama, hanya saja yang membedakan adalah metode untuk mengirim datanya, yaitu GET dan POST. Form isian tersebut akan mengirim data pada server dan diterima oleh file yang bernama daftar.php. Berikut scriptnya:
<!-- isi di file form_daftar.php --> <table> <tr> <td width="300px;"> <form method="GET" action="daftar.php"> Nama : <input type="text" name="nama"><br/> Alamat : <textarea type="text" name="alamat"></textarea><br/> Email : <input type="text" name="email"><br/> Password : <input type="password" name="pass"><br/> <input type="submit" value="Daftar"> </form> </td> <td> <form method="POST" action="daftar.php"> Nama : <input type="text" name="nama"><br/> Alamat : <textarea type="text" name="alamat"></textarea><br/> Email : <input type="text" name="email"><br/> Password : <input type="password" name="pass"><br/> <input type="submit" value="Daftar"> </form> </td> </tr> </table>
<?php // isi file daftar.php // cara menangkap data GET $nama1 = $_GET['nama']; $alamat1 = $_GET['alamat']; $email1 = $_GET['email']; $pass1 = $_GET['pass']; // cara menangkap data POST $nama2 = $_POST['nama']; $alamat2 = $_POST['alamat']; $email2 = $_POST['email']; $pass2 = $_POST['pass']; echo "Data yang dikirim dengan GET : <br/>$nama1, $alamat1, $email1, $pass1"; echo "<br/><br/>"; echo "Data yang dikirim dengan POST : <br/>$nama2, $alamat2, $email2, $pass2"; ?>
Dari sampel di atas, ketika kita explore lebih dalam menggunakan Live HTTP Header, maka kita akan mengetahui seperti apa sebenarnya format data yang dikirim dari browser kita ke server. Oiya, Live HTTP Header merupakan plugin yang saya gunakan pada Firefox untuk menganalisis atau meng-capture sirkulasi data antara browser dan server. Kita bisa mendownload Live HTTP Header di sini https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/. Berikut hasil yang diperoleh dari Live HTTP Header.
http://localhost/sampah/daftar.php?nama=Soekarno&alamat=Jl.+Mawar+Indah+Sekali+No.+71&email=soekarno%40email.com&pass=merdeka GET /sampah/daftar.php?nama=Soekarno&alamat=Jl.+Mawar+Indah+Sekali+No.+71&email=soekarno%40email.com&pass=merdeka HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: http://localhost/sampah/form_daftar.php Cookie: wpmp_switcher=desktop Connection: keep-alive http://localhost/sampah/daftar.php POST /sampah/daftar.php HTTP/1.1 Host: localhost User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:18.0) Gecko/20100101 Firefox/18.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: http://localhost/sampah/form_daftar.php Cookie: wpmp_switcher=desktop Connection: keep-alive Content-Type: application/x-www-form-urlencoded Content-Length: 87 nama=Soeharto&alamat=Jl.+Melati+Putih+No.+74&email=soeharto%40mail.com&pass=sehatselalu
Hasil di atas merupakan rekaman Live HTTP Header. Dari data tersebut kita bisa menyimpulkan bahwa antara form yang menggunakan metode GET dan POST itu berbeda. Pertama, pada metode GET kita bisa mengirim data dengan menyisipkannya pada alamat URL (misal daftar.php?nama=Soekarno... dst). Sedangkan pada POST kita tidak bisa melakukan hal tersebut. Kedua, metode POST menyertakan data yang kita kirim di bagian body data dan bukan pada URL. Ketiga, pada metode POST ada tambahan Content-Type untuk menentukan tipe data dan Content-Length untuk lebar informasi lebar data yang ada di bagian body. Dengan informasi tersebut, kita menggunakan method POST untuk upload data, dan bukan menggunakan GET. Misal pada PHP sebagai berikut:
<form action="upload_file.php" method="POST" enctype="multipart/form-data"> </form>
Apa sudah bisa merasakan beda antara GET dan POST? :)
Top Artikel :
Written by ElangSakti
Perbedaan GET dan POST Data pada HTTP (PHP?)
Bahasan: Pada tulisan kali ini kita akan memperdalam tentang metode pengiriman data yang dikirimkan dari client ke server pada WEB/HTTP, yaitu sala...
Published at Senin, 04 Maret 2013, Updated at Senin, 04 Maret 2013
Reviewed by dr. on
Rating: 4.7
Perbedaan GET dan POST Data pada HTTP (PHP?)
Bahasan: Pada tulisan kali ini kita akan memperdalam tentang metode pengiriman data yang dikirimkan dari client ke server pada WEB/HTTP, yaitu sala...
Published at Senin, 04 Maret 2013, Updated at Senin, 04 Maret 2013
Reviewed by dr. on
Rating: 4.7
Langganan:
Posting Komentar
(
Atom
)
thanks bro sangat membantu..
BalasHapusenak dipahami, keren Om !
BalasHapus