Hypertext Transfer Protocol (HTTP) adalah sebuah
protokol jaringan lapisan aplikasi yang digunakan untuk
sistem informasi terdistribusi, kolaboratif, dan menggunakan
hipermedia. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen
hiperteks, yang kemudian membentuk
World Wide Web pada tahun
1990 oleh
fisikawan Inggris,
Tim Berners-Lee.
Hingga kini, ada dua versi mayor dari protokol HTTP, yakni HTTP/1.0
yang menggunakan koneksi terpisah untuk setiap dokumen, dan HTTP/1.1
yang dapat menggunakan koneksi yang sama untuk melakukan transaksi.
Dengan demikian, HTTP/1.1 bisa lebih cepat karena memang tidak perlu
membuang waktu untuk pembuatan koneksi berulang-ulang.
Pengembangan standar HTTP telah dilaksanakan oleh Konsorsium World Wide Web (
World Wide Web Consortium/W3C) dan juga
Internet Engineering Task Force (IETF), yang berujung pada publikasi beberapa dokumen
Request for Comments (RFC), dan yang paling banyak dirujuk adalah
RFC 2616 (yang dipublikasikan pada bulan
Juni 1999), yang mendefinisikan HTTP/1.1.
Dukungan untuk HTTP/1.1 yang belum disahkan, yang pada waktu itu
RFC 2068, secara cepat diadopsi oleh banyak pengembang
penjelajah Web pada tahun
1996 awal. Hingga
Maret 1996, HTTP/1.1 yang belum disahkan itu didukung oleh
Netscape 2.0,
Netscape Navigator Gold 2.01,
Mosaic 2.7,
Lynx 2.5, dan dalam
Microsoft Internet Explorer 3.0.
Adopsi yang dilakukan oleh pengguna akhir penjelajah Web pun juga
cepat. Pada bulan Maret 2006, salah satu perusahaan Web hosting
melaporkan bahwa lebih dari 40% dari penjelajah Web yang digunakan di
Internet adalah penjelajah Web yang mendukung HTTP/1.1.
[1]Perusahaan yang sama juga melaporkan bahwa hingga
Juni 1996, 65% dari semua penjelajah yang mengakses
server-
server mereka merupakan
penjelajah Web yang mendukung HTTP/1.1. Standar HTTP/1.1 yang didefinisikan dalam
RFC 2068 secara resmi dirilis pada bulan Januari 1997. Peningkatan dan pembaruan terhadap standar HTTP/1.1 dirilis dengan dokumen
RFC 2616 pada bulan Juni 1999.
HTTP adalah sebuah protokol meminta/menjawab antara
klien dan
server. Sebuah klien HTTP (seperti
web browser atau robot dan lain sebagainya), biasanya memulai permintaan dengan membuat hubungan ke
port tertentu di sebuah server
Webhosting tertentu (biasanya
port 80). Klien yang mengirimkan permintaan HTTP juga dikenal dengan
user agent. Server yang meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga sebagai
origin server. Di antara user agent dan juga
origin server, bisa saja ada penghubung, seperti halnya
proxy,
gateway, dan juga
tunnel.
HTTP tidaklah terbatas untuk penggunaan dengan TCP/IP, meskipun HTTP
merupakan salah satu protokol aplikasi TCP/IP paling populer melalui
Internet. Memang HTTP dapat diimplementasikan di atas protokol yang lain
di atas Internet atau di atas jaringan lainnya. seperti disebutkan
dalam "implemented on top of any other protocol on the Internet, or on
other networks.", tapi HTTP membutuhkan sebuah protokol lapisan
transport yang dapat diandalkan. Protokol lainnya yang menyediakan
layanan dan jaminan seperti itu juga dapat digunakan.."
[2]
Sumber daya yang hendak diakses dengan menggunakan HTTP diidentifikasi dengan menggunakan
Uniform Resource Identifier (URI), atau lebih khusus melalui
Uniform Resource Locator (URL), menggunakan
skema URI http: atau
https:.
Sesuai dengan perkembangan infrastruktur
internet maka pada tahun
1999 dikeluarkan HTTP versi 1.1 untuk mengakomodasi
proxy,
cache dan
koneksi yang persisten.