M JAUHARUL FUADY
Beragam aplikasi berjalan di WEB, seperti web browsing, e-mail, transfer file, streaming musik dan film, dsb. Agar komunikasi antara client dan server berjalan dengan lancar, aplikasi-aplikasi tersebut harus menggunakan suatu protokol aplikasi tertentu dalam berkomunikasi, seperti HTTP, FTP, SMTP, POP, dsb.
Browser
Protocol
: Protokol tingkat aplikasi yang digunakan oleh client dan server, seperti HTTP, FTP, dan telnet. Hostname : Nama domain (www.test101.com) atau alamat IP (192.128.1.2) server. Port : Nomor port TCP yang digunakan oleh server untuk menerima request dari client. Path-and-file-name: Nama dan lokasi dari resource yang diminta, yang berada pada suatu basis direktori dokumen di server.
Protokol
Hostname Port number
: HTTP
: www.test101.com : tidak disebutkan di URL, berarti menggunakan default protokol HTTP menggunakan TCP port 80
mailto:user@test101.com
HTTP Protocol
URL yang diketikkan di browser diterjemahkan dalam suatu format sesuai protokol yang digunakan, lalu dikirimkan ke server. http://www.test101.com/docs/index.html akan diterjemahkan menjadi request message berikut
GET /docs/index.html HTTP/1.1 Host: www.test101.com Accept: image/gif, image/jpeg, */* Accept-Language: en-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) (blank line)
HTTP Protocol
Ketika request message tersebut sampai di server, server akan melakukan salah satu dari tiga aksi berikut: Server menterjemahkan request yang diterima, memetakan request ke suatu file pada direktori dokumen di server, dan mengembalikan file yang diminta ke client. Server menterjemahkan request yang diterima, memetakan request ke suatu program yang berada di server, mengeksekusi program, dan mengembalikan output dari program tersebut ke client. Request tidak dapat dipenuhi, server mengembalikan suatu error message.
HTTP Protocol
HTTP/1.1 200 OK Date: Sun, 18 Oct 2009 08:56:53 GMT Server: Apache/2.2.14 (Win32) Last-Modified: Sat, 20 Nov 2004 07:16:26 GMT ETag: "10000000565a5-2c-3e94b66c2e680" Accept-Ranges: bytes Content-Length: 44 Connection: close Content-Type: text/html X-Pad: avoid browser bug
<html><body><h1>It works!</h1></body></html>
TCP (Transmission Control Protocol) adalah protokol pada transportlayer yang bertugas menangani koneksi diantara dua mesin.
Reliable, tiap paket data bernomor dan memakai acknowledgement
Meski TCP Port 80 pre-assign ke HTTP sebagai nilai default. Hal ini tidak menutup kemungkinan untuk membuat suatu HTTP server yang listening ke port selain port 80, seperti port 8000 atau 8080.
Selain dua method utama ini masih ada beberapa request method lain seperti HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT, dan sejumlah method lain yang dapat didefinisikan sendiri.
2xx (Success)
The request was successfully received, understood, accepted and serviced.
3xx (Redirection)
Further action must be taken in order to complete the request.
200 OK:
The request is fulfilled.
403 Forbidden:
Server refuses to supply the resource, regardless of identity of client.