Tuesday, 19 July 2016

Perbedaan POST dan GET di PHP Secara Sederhana

Jika kalian pernah membuat aplikasi dengan PHP pasti sudah tidak asing lagi dengan istilah POST dan GET. Bagi sebagian orang mungkin akan kebingungan dengan arti dan kegunaan dari keduannya.

Saya memahami keduanya berdasarkan pengalaman pribadi ketika membuat website, bukan dari teori-teori yang ada di internet. Tidak ada salahnya jika saya membagi pemahaman saya mengenai GET dan POST di PHP

CARA PENGGUNAAN


GET

Method yang digunakan untuk mengirim data. Cara pengunaannya di page HTML seperti berikut ini :

bisa dilihat dikode diatas, method yang digunakan adalah get dan dengan action ContohGet.php. Di file ContohGet.php akan diambil value dari field nama. Caranya yaitu dengan men GET berdasarkan atribut name. Kebetulan pada contoh kode diatas atribut name='name' (kalian bisa saja merubah menjadi name='aaaa' atau lainnya). Lihat kode dibawah ini :

POST

Method post hampir sama dengan get, yaitu sama sama mengirim value dari field tertentu. Cara penggunaannya di page HTML seperti berikut ini :

Method POST juga mengambil value field tertentu berdasarkan namenya (sama seperti GET), lihat kode dibawah ini :

DIMANA LETAK PERBEDAAN JELASNYA?



Perbedaan dari keduanya bisa kalian lihat dari URL yang dihasilkan, di method GET  URL yang dihasilkan akan menampilkan value yang diambil di field sebelumnya.

output get
Sedangkan ketika kita menggunakan POST, output URL nya tidak menampilkan value yang di ambil dari field sebelumnya.

output post

PERBEDAAN LAINNYA


Coba kalian copy URL get dan paste di tab baru atau browser baru, kalian pasti akan tetap dapat memproleh valuenya. Kenapa demikian? karna di URL GET masih terdapat value dari field yang diambil sebelumnya. Konsep GET adalah mengambil value dari URL, jadi tidak masalah kemanapun URLnya di PASTE.

Sedangkan POST tidak demikian, coba kalian copy URL POST dan paste di new tab atau new browser, pasti akan terjadi error. Kok bisa? ya karena POST mengambil value dari field sebelumnya tanpa meninggalkan value di URL

Lihat perbedaannya di VIDEO DEMO berikut ini :



KAPAN MENGGUNAKAN KEDUANYA?


GET biasanya digunakan untuk menampilkan data-data tertentu yang sifatnya tidak secure, dalam arti datanya tidak bersifat rahasia.

POST digunakan pada saat melakukan proses yang bersifat rahasia. Kenapa kok method POST yang digunakan pada kondisi ini? Ya harus. Seperti yang saya jelaskan di point perbedaan URL POST tidak menampilkan data-data yang diambil di field-field sebelumnya, jadi sifatnya aman untuk proses selanjutnya. Salah satu penggunaan post adalah pada saat proses LOGIN. itu sudah wajib hukumnya menggunakan POST karna lebih aman.

PERBEDAAN SECARA FUNGSIONALITAS, SINGKATNYA BEGINI :


POST atau GET itu tidak ada hubungannya dengan aman tidaknya data. Tapi kedua memang punya semantik dan keperluan berbeda.

POST itu digunakan untuk mengirim data yang nantinya dapat merubah state dari server, misalkan data untuk disimpan di database (seperti register, form survey dll).

GET itu sesuai namanya untuk mendapatkan informasi dari server tanpa mengubah state dari server. Singkatnya mengirim data ke server untuk disimpan menggunakan metode GET itu tidak idiomatik. Kita bisa menambahkan parameter kepada metode GET untuk lebih menspesifikan data yang ingin kita dapatkan menggunakan query string (data sehabis tanda ? pada url).

Kalian bisa clone projectnya di GITHUB

Please post a polite comment and do not post a spam
EmoticonEmoticon