📋 Daftar Isi
Internet sudah menjadi kebutuhan dan sudah lekat dalam kehidupan manusia, terutama dalam memperoleh berbagai informasi melalui halaman web. Pada kesempatan kali ini, kita akan berkenalan dengan HTTP (Hyper Text Transfer Protocol) dengan menilik bagaimana cara kerja dari HTTP.
HTTP merupakan salah satu protokol Internet yang mengatur cara kerja web. Untuk mengakses suatu situs web, kita perlu memasukkan alamat URL di dalam aplikasi web browser. Web browser kemudian akan mengirimkan permintaan (request) ke server yang ditunjukkan oleh alamat tersebut. Respons dari server kemudian akan diterima oleh web browser, yang kemudian ditampilkan di dalam web browser.
HTTP Request
Struktur
Struktur dari HTTP request terdiri dari :
Status Line
contoh : GET/HTTP/1.1
GET → metode HTTP request
/ → request-URI
HTTP/1.1 → versi HTTP
Header Field
Blank Line
Optional Body
Metode
GET:
- Digunakan jika link diklik atau alamat diketik di browser.
- Tidak ada body yang direquest dengan metode GET.
POST
- Digunakan ketika tombol submit di-click pada suatu form.
- Informasi form ada pada body of request.
HEAD
- Hanya header fields (tidak ada body) dikembalikan sebagai respons.
HTTP Response
Struktur
Status Line
Contoh : HTTP/1.1 200 OK
HTTP/1.1 → versi HTTP
200 → kode status
OK → reason phrase
Keterangan :
Kode status terdiri dari 3 digit, dengan 1 digit pertama memiliki kode :
1 = Informational
2 = Success
3 = Redirection
4 = Client Error
5 = Server Error
Header Field
Blank Line
Optional Body
Cara Kerja HTTP
Kali ini, kita akan sedikit bereksperimen menggunakan program Ncat untuk mengetahui bagaimana cara kerja HTTP.
Cara mengunduh program Ncat :
- Khusus untuk pengguna Microsoft Windows, unduh program Ncat dari tautan berikut : https://nmap.org/ncat/
- Ada dua pilihan paket file: self-installer atau command-line zip-file: Pilih Latest stable command-line zip-file
- Setelah diunduh, ekstrak file yang diunduh ke dalam folder yang anda pilih, misalnya ke folder C:\Users\YourName\Desktop, di mana YourName menunjukkan username Windows anda
- Jangan lupa catat lokasi tempat anda meng-ekstrak file, karena nanti akan digunakan.
Cara kerja HTTP di “depan layar” :
- Buka aplikasi web browser, masukkan alamat URL berikut : http://www.example.com/
- Kemudian akan ditampilkan isi dari halaman web tersebut di
dalam web browser seperti yang terlihat pada gambar

- Setelah kita memasukkan alamat URL sampai dengan isinya ditampilkan, web browser melakukan komunikasi dengan web server, yaitu mengirimkan permintaan (request) dan menerima balasan (response).
- Berikut ini, mari kita lihat apa yang terjadi di “balik layar”.
Untuk itu, kita akan menggunakan terminal untuk mengemulasikan apa yang terjadi.
Cara kerja HTTP di “balik layar” :
Sejauh ini, langkah-langkah berikut hanya dapat diikuti oleh pengguna Windows.
- Buka aplikasi PowerShell atau Command Prompt
- Pindahkan posisi directory ke tempat di mana program Ncat diekstrak
- Selanjutnya, kita akan membuka koneksi HTTP dengan program Ncat yang telah kita unduh.
- Jalankan perintah berikut
./ncat -v www.example.com 80
- Tekan tombol enter dan muncul respons seperti berikut:
PS C:\Users\Asus> cd C:\Users\Asus\Downloads\nmap-7.92-win32\nmap-7.92
PS C:\Users\Asus\Downloads\nmap-7.92-win32\nmap-7.92> ./ncat -v www.example.com 80
Ncat: Version 7.92 ( https://nmap.org/ncat )
Ncat: Connected to 93.184.216.34:80.
- Langkah berikutnya, kita akan mengirim request menggunakan protokol HTTP untuk meminta halaman web yang berada pada alamat tersebut dengan memasukkan perintah berikut :
GET / HTTP/1.1
Host: www.example.com
*baris kosong*
- Penting, perlu diperhatikan bahwa ada spasi setelah “GET” dan setelah simbol “/” yang pertama. Serta pastikan bahawa di baris ketiga merupakan baris kosong (jangan mengetikkan karakter apa pun)
- Setelah itu, tekan tombol enter dan muncul respons berupa source code HTML seperti berikut:
GET / HTTP/1.1
Host: www.example.com
HTTP/1.1 200 OK
Age: 223707
Cache-Control: max-age=604800
Content-Type: text/html; charset=UTF-8
Date: Sun, 08 May 2022 03:46:19 GMT
Etag: "3147526947+ident"
Expires: Sun, 15 May 2022 03:46:19 GMT
Last-Modified: Thu, 17 Oct 2019 07:18:26 GMT
Server: ECS (sab/572B)
Vary: Accept-Encoding
X-Cache: HIT
Content-Length: 1256
<!doctype html>
<html>
<head>
<title>Example Domain</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type="text/css">
body {
background-color: #f0f0f2;
margin: 0;
padding: 0;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
div {
width: 600px;
margin: 5em auto;
padding: 2em;
background-color: #fdfdff;
border-radius: 0.5em;
box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
}
a:link, a:visited {
color: #38488f;
text-decoration: none;
}
@media (max-width: 700px) {
div {
margin: 0 auto;
width: auto;
}
}
</style>
</head>
<body>
<div>
<h1>Example Domain</h1>
<p>This domain is for use in illustrative examples in documents. You may use this
domain in literature without prior coordination or asking for permission.</p>
<p><a href="https://www.iana.org/domains/example">More information...</a></p>
</div>
</body>
</html>
Kesimpulan
Saat kita mengirimkan HTTP Request ternyata web server akan langsung membalas dengan mengirimkan respons berupa teks HTML seperti di atas.
Pada HTTP Request, “GET” merupakan perintah dalam HTTP kepada web server untuk mencarikan halaman web yang berada di path “/” dengan protokol HTTP versi 1.1.
HTTP Response berupa teks yang diawali dengan “HTTP/1.1 200 OK” yang menunjukkan bahwa protokol yang digunakan adalah HTTP versi 1.1. Kode responsnya adalah “200” dan deskripsi dari kode responnya adalah “OK” atau berhasil.
Apabila tidak muncul respons yang diharapkan, melainkan muncul pesan “An established connection was aborted..”, kemungkinan koneksi diputus oleh web server karena waktu koneksi habis. Sebagai solusinya, kamu bisa membuka kembali koneksinya dengan menjalankan perintah Ncat seperti pada langkah awal.