Form HTML digunakan untuk melewatkan data dari klien ke server. Kerja Web bekerja didasarkan pada arsitektur client / server yang sangat dasar yang dapat diringkas sebagai berikut : klien (web browser ) mengirim permintaan ke server (misalnya apache , nginx , IIS , Tomcat , dan lain sebagainya ) , menggunakan protokol HTTP . Server menjawab requets dari form dengan menggunakan protokol yang sama .
Sisi Klien
Server akan memproses data dan kemudian mengirim respon kepada pengguna. Disisi klien memastikan data mana yang dkirim melalui elemen form. Di sisi klien , HTML untuk mengkonfigurasi permintaan HTTP untuk mengirim data ke server . Hal ini memungkinkan pengguna untuk memberikan informasi yang akan disampaikan dalam permintaan HTTP .
Atribut yang sangat peran saat pengiriman data adalah actiondan method. Atribut – atribut dari elemen HTML <form> adalah sebagai berikut :
Atribut Action
Atribut ini mendefinisikan mana data akan dikirim . Nilainya harus merupakan URL yang valid . Jika atribut ini tidak menyediakan , data akan dikirim ke URL halaman ini berisi formulir. Contoh penggunaan atribut action
1.data dikirim ke http://foo.com
<form action="http://foo.com">
|
2.Data dikirim ke server yang sama bahwa itu host halaman form , tapi ke URL yang berbeda pada server :
<form action="/somewhere_else">
|
3.Tanpa atribut , seperti di bawah , atribut <form> menyebabkan data yang akan dikirim ke halaman yang meliputi bentuk:
<form>
|
4. Notasi berikut untuk menunjukkan bahwa data harus dikirim ke halaman yang sama yang berisi formulir , ini diperlukan karena sampai HTML5 , atribut tindakan yang diperlukan .
<form action="#">
|
Atribut Method
Atribut metode untuk pengiriman data menggunakan postdan get. Atribut ini mendefinisikan bagaimana data dikirim . Protokol HTTP menyediakan beberapa cara untuk melakukan permintaan , data bentuk HTML dapat dikirim melalui setidaknya dua dari mereka : metode GET dan metode POST . Permintaan HTTP terdiri dari dua bagian : sebuah header yang berisi sekumpulan metadata global mengenai kemampuan browser , dan body yang dapat berisi informasi yang diperlukan ke server untuk memproses permintaan khusus .
Methode GET
Metode GET adalah metode yang digunakan oleh browser untuk meminta server untuk mengirim kembali resource yang dib erikan : " hey , server, kirimkan resource ini . " Dalam hal ini , browser mengirimkan sebuah body kosong . Karena body kosong , jika formulir dikirim menggunakan metode ini , data yang dikirim ke server ditambahkan ke URL .
Contoh penerapan mehode get pada elemen <form>
<!DOCTYPE html>
<html>
<head>
<title>cek form </title>
</head>
<body>
<form action="http://foo.com" method="get">
<input name="say" value="Hallo">
<input name="to" value="Semua">
<button>kirimkan salam</button>
</form
</body>
</html>
|
Bila listing kode diatas dijalankan maka akan menghasilkan tampilan sebagai berikut
Dari tampilan web pada gambar diatas, bila tombol ‘kirimkan salam” diklik akan mengarah ke suatu alamat web, yaitu foo.com seperti yang terlihat pada gambar dibawah.
gambar :hasil button menggunakan method GET
Dengan menggunakan method get, request HTTP aka terlihat sebagai berikut:
GET /?say=Hi&to=Mom HTTP/1.1
Host: foo.com
|
Methode POST
Metode POST sedikit berbeda , POST mengirimkan server untuk meminta respon yang memperhitungkan data yang tersedia dalam request. HTTP : " hey Server , lihatlah data ini dan saya mengirimkan kembali hasil yang baik . " Jika form yang dikirim dengan menggunakan data metod POST akan ditambahkan dalam body dari HTTP yang request .
Contoh penerapan mehode POST pada elemen <form>
<!DOCTYPE html>
<html>
<head>
<title>cek form </title>
</head>
<body>
<form action="http://foo.com" method="post">
<input name="say" value="Hall">
<input name="to" value="Semua">
<button>kirim POST</button>
</form>
</form
</body>
</html>
|
Bila listing kode diatas dijalankan maka akan menghasilkan tampilan sebagai berikut
Dari tampilan web pada gambar diatas, bila tombol ‘kirim POST” diklik akan mengarah ke suatu alamat web, yaitu foo.com seperti yang terlihat pada gambar dibawah.
Dengan menggunakan method post, request HTTP akan terlihat sebagai berikut:
POST / HTTP/1.1
Host: foo.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 13
say=Hall&to=Semua
|
Content-Length mengindikasikan ukuran dari body sedangkan Content-Type merupakan type data resource dari si pengirim ke server.
Sisi Server
Apapun metode HTTP yang digunakan (get atau post), server menerima string yang akan di order untuk mendapatkan data list sebagai key atau nilai pasangan. Cara mengakses list/daftar tergantung pada platform pengembangan yang digunakan.