fbpx

Pemrograman Berbasis Web : Pengenalan HTTP

📋 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

OKreason 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.


Tonton juga video pilihan dari kami berikut ini

https://youtu.be/u-nUF4YistU

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!