Apa itu HTTP dan HTTPS beserta cara kerjanya 0 Discussion

HTTP

HTTP (Hypertext Transfer Protocol) adalah protokol pada lapisan aplikasi (application-layer) yang bertugas untuk mentransmisikan dokumen hypermedia, seperti HTML. HTTP dirancang agar web browser dan web server saling berkomunikasi, dan juga dapat digunakan untuk tujuan lain. HTTP mengikuti model client-server klasik, dengan klien membuka koneksi untuk membuat permintaan, lalu klien menunggu hingga mendapatkan respon dari server. HTTP adalah protokol yang stateless, artinya server tidak menyimpan data diantara dua permintaan. Meskipun sering didasarkan pada lapisan TCP/IP, HTTP dapat digunakan pada lapisan transport yang dapat diandalkan yaitu protokol yang tidak kehilangan pesan secara diam – diam seperti UDP.

Seperti yang telah dijelaskan di atas HTTP adalah protokol yang memungkin untuk mengambil sumber daya, seperti dokumen HTML. HTTP adalah dasar dari pertukaran data apa pun di web dan protokol client-server. Dokumen lengkap direkonstruksi dari berbagai sub-dokumen yang diambil, misalnya teks, deskripsi tata letak, gambar, video, skrip, dan lainnya.

Cara Kerja HTTP

Cara Kerja HTTP

Klien dan server berkomunikasi dengan bertukar pesan secara individual. Pesan yang dikirim oleh klien (web browser), disebut sebagai permintaan / request dan pesan yang dikirim oleh server disebut tanggapan / respon.

Sebagai contoh, Web browser mengajukan sebuah permintaan kepada server, dengan membuka koneksi TCP/IP. Permintaan itu sendiri terdiri dari :

  • Sebuah baris permintaan
  • Seperangkat permintaan yang ada pada header, dan
  • Sebuah entitas.

Server mengirimkan respon / tanggapan terhadap permintaan – permintaan tersebut. Sebuah entitas dalam permintaan ataupun respon dianggap hanya sebagai payload, yang mungkin merupakan data biner. Sedangkan item lainnya adalah karakter ASCII yang dapat dibaca. Ketika respon telah selesai, web browser atau server dapat mengakhiri koneksi TCP/IP, atau web browser dapat mengirim permintaan yang lain.

HTTP & Layer

Didesain pada awal 1990-an, HTTP adalah protokol yang dapat diperluas yang telah berevolusi seiring berjalannya waktu. Merupakan protokol pada lapisan aplikasi yang dikirim melalui TCP, atau melalui koneksi TCP yang telah terenkripsi TLS, meskipun protokol transportasi yang dapat diandalkan secara teoritis dapat digunakan. Karena sifatnya yang dapat diperpanjang, ia digunakan tidak hanya untuk mengambil dokumen hypertext, tetapi juga gambar dan video atau memposting konten ke server, seperti dengan hasil dari form HTML. HTTP juga dapat digunakan untuk mengambil bagian dari dokumen untuk memperbarui halaman Web sesuai permintaan.

Illustrasi

Berikut ini contoh pertukaran informasi antar web browser dengan web server, www.macode.web.id. Sebagai tanggapan atas permintaan pengguna untuk masuk ke URL.

http://www.macode.web.id

Browser mengirim permintaan HTTP berikut ke www.macode.web.id

GET / HTTP/1.1
Connection: Keep-Alive
User-Agent: Mozilla/5.0 (compatible; Konqueror/2.2-11; Linux)
Accept: text/*, image/jpeg, image/png, image/*, */*
Accept-Encoding: x-gzip, gzip, identity
Accept-Charset: Any, utf-8, *
Accept-Language: en, en_US
Host: www.macode.web.id

Penjelasan :

Baris pertama adalah baris permintaan yang terdiri dari 3 bidang, yaitu :

  • Metode : metode GET menunjukkan bahwa server seharusnya mengembalikan sebuah entitas.
  • Request : sebuah permintaan URI (Universal Resource Identifier). Tanda “/” (slash) menunjukkan akar / root dari sistem dokumen pada server.
  • Versi : versi dari protokol yang digunakan adalah protokol HTTP: 1.1

Baris kedua adalah koneksi header yang menginformasikan kepada server bahwa browser ingin membiarkan koneksi terbuka setelah ada respon / tanggapan.

Baris ketiga adalah header User Agent yang mengidentifikasi jenis browser yang mengirim permintaan, versi browsernya, serta sistem operasinya.

Header accept menentukan jenis, bahasa, dan pengkodean untuk entitas yang dikembalikan, browser lebih suka menerimanya dari server.

Untuk menanggapi permintaan dari browser, server www.macode.web.id mengirim tanggapan sebagai berikut :

HTTP/1.1 200 OK
Date: Thu, 24 Jan 2018 17:33:52 GMT
Server: Apache/1.3.14
Last-Modified: Mon, 15 Jan 2017 22:08:33 GMT
Etag: “47bc6-25e0-3c4c9161”
Accept-Ranges: bytes
Content-Length: 9696
Connection: close
Content-Type: text/html
-- blank line--
-- HTML entity --

Penjelasan :

Baris pertama adalah baris status yang terdiri dari tiga bidang:

  • Versi dari protokol HTTP yang digunakan untum menanggapi: 1.1
  • Tiga digit angka yang merupakan kode status, dan
  • Deskripsi singkat tentang kode status.

Baris header Content-Length, Content-Type, Etag, dan Last-Modified menggambarkan entitas yang dikembalikan.

HTTPS

HTTPS (Secure HTTP) menunjukkan penggunaan HTTP dengan protokol SSL (Secure Socket Layer) atau protokol penggantinya Transport Layer Security (TLS), sebuah protokol pada lapisan transport (transport-layer). Salah satu dari protokol ini, yang menggunakan enkripsi, dapat digunakan untuk membuat koneksi yang aman antara dua mesin. Peramban menggunakan SSL atau TLS saat tersambung ke bagian aman / yang telah terenkripsi dari situs web yang ditunjukkan oleh URL HTTPS, yaitu URL dengan awalan https: //. Browser kemudian menggunakan HTTP untuk mengirim dan menerima permintaan melalui koneksi yang telah terenkripsi tersebut.

Tags: htmlHTTPHTTPSHypertextSSLTLS

Search

No Comments

Leave a Reply

Your email address will not be published. Required fields are marked *