1. HTTP
Pada RFC 2616, HTTP didefinisikan sebagai : “The Hypertext Transfer Protocol (HTTP) is an application-level protocol for distributed, collaborative, hypermedia information systems.” HTTP mulai digunakan oleh WWW pada tahun 1990 dengan versi HTTP/0.9. Kemudian, dikembangkan menjadi HTTP/1.0 dengan RFC 1945, dimana pada versi ini, HTTP mendukung dokumen yang diformat MIME. HTTP juga merupakan protokol yang digunakan antara user agent dengan proxy/gateway ke sistem internet lain, misal SMTP, FTP, NNTP, FTP, Gopher dan WAIS. HTTP merupakan protokol aplikasi yang menggunakan protokol TCP untuk layanan transportnya. Di sini HTTP bersifat stateless, artinya pada sisi server tidak memelihara informasi tentang permintaan client sebelumnya. Dilihat dari jenis koneksinya, HTTP menerapkan 2 jenis koneksi,
1. Non-persistent
• diimplementasikan pada HTTP/1.0
• server menerima request, memparsing, memproses dan mengirim hasil proses ke client dan terakhir menutup koneksi.
• Mekanisme seperti ini membutuhkan waktu tambahan, mengingat mekanisme three-way handshake pada protokol TCP seperti pada gambar di samping ini :
2. Persistent
• Untuk menutupi kelemahan non-persistent, pada HTTP/1.1 secara default digunakan jenis koneksi persistent
• pada koneksi TCP yang sama, server menerima permintaan dari client, memparsing dan meresponse ke client, menerima permintaan baru, memparsing dan ...(seterusnya)
Ada dua format HTTP yang harus diikuti oleh client dan server
Format Request dari client :