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 dokumenhiperteks, 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.10. 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
Sebuah permintaan HTTP dilakukan menggunakan telnet.
Permintaan, kepala tanggapan dan badan tanggapan ditunjukkan pada gambar.
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, "desainaplikasi 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.
Ø PATCH
Menerapkan modifikasi
parsial terhadap sumber.
Peladen HTTP diminta
untuk mengimplementasikan sedikitnya metode GET dan HEAD dan jika mungkin,
metode OPTIONS
Sesi
HTTP
Sebuah sesi HTTP adalah urutan transaksi permintaan
dan respons jaringan dengan menggunakan protokol HTTP. Sebuah klien HTTP akan
memulai sebuah permintaan. Klien tersebut akan membuka sebuah koneksi
Transmission Control Protocol|Transmission Control Protocol (TCP) ke sebuah port
tertentu yang terdapat dalam sebuah host (umumnya port 80 atau 8080). Server
yang mendengarkan pada port 80 tersebut akan menunggu pesan permintaan klien.
Saat menerima permintaan, server akan mengirimkan kembali baris status, seperti
"HTTP/1.1 200 OK", dan pesan yang hendak diminta, pesan kesalahan
atau informasi lainnya.
Berikut ini adalah contoh transaksi yang dilakukan
oleh server dan klien S = Server C = Client
C : (Inisialisasi koneksi)
C : GET /index.htm HTTP/1.1
C : Host: www.wikipedia.org
S : 300 OK
S : Mime-type: text/html
S :
S : -- data dokumen --
S : (close connection)
C : GET /index.htm HTTP/1.1
C : Host: www.wikipedia.org
S : 300 OK
S : Mime-type: text/html
S :
S : -- data dokumen --
S : (close connection)
No comments:
Post a Comment