Protokol Transfer Hiperteks
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. 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.."
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.
Metode permintaan
HTTP menetapkan sembilan metode (kadang
disebut "verbs") yang menunjukkan tindakan yang ingin dilakukan
terhadap sumber teridentifikasi. Hal yang diwakili sumber ini, berupa data yang
sudah ada atau data yang diciptakan secara dinamis, bergantung pada
implementasi peladen. Biasanya sumber ini berkaitan dengan berkas atau keluaran
dari berkas pelaksana yang menetap di peladen.
HEAD
Meminta tanggapan yang identik dengan tanggapan yang
sesuai dengan permintaan GET, namun tanpa badan tanggapan. Ini berguna untuk
mengakses informasi meta yang tertulis dalam kepala tanggapan tanpa perlu
mengangkut seluruh konten.
GET
Meminta representasi sumber tertentu. Permintaan
menggunakan GET (dan beberapa metode HTTP lain) "tidak boleh memiliki
kepentingan melakukan tindakan selain pengaksesan". W3C telah menerbitkan
prinsip panduan mengenai perbedaan ini dengan menyatakan, "desain aplikasi
web harus mematuhi prinsip di atas, serta batasan sejenis."
POST
Mengirimkan data untuk diproses (misalnya dari
bentuk HTML) ke sumber teridentifikasi. Data dimasukkan dalam badan permintaan.
Ini dapat menghasilkan pembentukan sumber baru atau pemutakhiran sumber yang
sudah ada atau keduanya.
PUT
Mengunggah representasi sumber tertentu.
DELETE
Menghapus sumber tertentu.
TRACE
Menggaungkan kembali permintaan yang diterima,
sehingga klien dapat melihat perubahan atau tambahan yang dilakukan oleh
peladen perantara.
OPTIONS
Mengembalikan metode HTTP yang didukung peladen
untuk URL tertentu. Ini dapat digunakan untuk memeriksa fungsionalitas peladen
web dengan meminta '*' daripada fungsionalitas sumber tertentu.
CONNECT
Menukarkan koneksi permintaan dengan terowongan TCP/IP
transparan, biasanya untuk memfasilitasi komunikasi terenkripsi SSL (HTTPS)
melalui proksi HTTP tak terenkripsi.[4]
PATCH
Menerapkan modifikasi parsial terhadap sumber.
Penerapan dan Cara Kerja HTTP
Bila kita mengklik link hypertext atau
kita mengetikkan suatu alamat atau URL pada internet browser, maka Anda sedang
mentransfer URL ke browser, dan Dari URL ini browser Anda tahu server mana yang
akan dihubungi dan file apa yang diminta, kemudian web browser akan mengirimkan
perintah HTTP ke web server. Web server selanjutnya akan menerima perintah ini
dan melakukan aktivitas sesuai dengan perintah yang diminta oleh web browser.
Hasil aktivitas tadi akan dikirimkan kembali ke web browser untuk ditampilkan
kepada kita.
Sumber:
Onno W. Purbo, Ismail Fahmi, Akhmad Husni Thamrin, Adnan Basalamah.
"TCP/IP: Konsep Disain dan Implementasi". 1998: Elexmedia Komputindo.
http://zakytekno.wordpress.com/2014/09/09/protokol-http-hypertext-transfer-protocol/