HTTP (Hypertext
Transfer Protocol) 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 usah 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.
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.1C : Host: www.wikipedia.orgxt/html SS : 200 OK S : Mime-type: t e: S : -- data dokumen -- S : (close connection)
Sedangkan HTTPS
adalah versi aman dari HTTP, protokol komunikasi dari World Wide Web.
Ditemukan oleh Netscape Communications Corporation untuk menyediakan
autentikasi dan komunikasi tersandi dan penggunaan dalam komersi
elektris. Selain menggunakan komunikasi plain text, HTTPS menyandikan
data sesi menggunakan protokol SSL (Secure Socket layer) atau protokol
TLS (Transport Layer Security). Kedua protokol tersebut memberikan
perlindungan yang memadai dari serangan eavesdroppers, dan man in the
middle attacks. Pada umumnya port HTTPS adalah 443.
Tingkat
keamanan tergantung pada ketepatan dalam mengimplementasikan pada
browser web dan perangkat lunak server dan didukung oleh algorithma
penyandian yang aktual. Oleh karena itu, pada halaman web digunakan
HTTPS, dan URL yang digunakan dimulai dengan 'https://' bukan dengan
'http://'
Kesalahpahaman
yang sering terjadi pada pengguna kartu kredit di web ialah dengan
menganggap HTTPS "sepenuhnya" melindungi transaksi mereka. Sedangkan
pada kenyataannya, HTTPS hanya melakukan enkripsi informasi dari kartu
mereka antara browser mereka dengan web server yang menerima informasi.
Pada web server, informasi kartu mereke secara tipikal tersimpan di
database server (kadang-kadang tidak langsung dikirimkan ke pemroses
kartu kredit), dan server database inilah yang paling sering menjadi
sasaran penyerangan oleh pihak-pihak yang tidak berkepentingan.
Tidak ada komentar:
Posting Komentar