Apakah Anda seorang pengguna atau pemilik situs web, satu kata yang mungkin Anda temui saat menjelajah adalah HTTP. Penting untuk mendapatkan dasar-dasar HTTP untuk memahami cara kerja Internet dan detail yang dikirim dan diterima antara browser Anda dan server web. Berikut adalah panduan pemula untuk HTTP yang mencoba menjelaskan dasar-dasarnya.
Belajar apa itu HTTP
1. Pendahuluan
Pengertian HTTP adalah kependekan dari (Hypertext Transfer Protocol), merupakan protokol aplikasi untuk sistem informasi terdistribusi, kolaboratif, dan hypermedia. dasar komunikasi data untuk World Wide Web yang berbentuk teks terstruktur dan menggunakan link logis (hyperlink) antar node yang mengandung teks.
Sedangkan HTTPS kependekan dari (Hypertext Transfer Protocol Secure), Kelebihan HTTPS adalah dari sisi keamanan HTTPS memakai Secure Socket Layer (SSL) atau Transport Layer Security (TLS) sebagai sub layer bawah lapisan aplikasi.
2. Komunikasi World Wide Web
World Wide Web adalah tentang komunikasi antara klien web dan server web.
Klien sering browser (Chrome, Edge, Safari), tetapi mereka dapat berupa semua jenis program atau perangkat.
3. Permintaan / Respons HTTP
Komunikasi antara klien dan server dilakukan dengan permintaan dan tanggapan:
- Klien (browser) mengirimkan permintaan HTTP ke web
- Server web menerima permintaan
- Server menjalankan aplikasi untuk memproses permintaan
- Server mengembalikan respons HTTP (output) ke browser
- Klien (browser) menerima respons
4. Lingkaran Permintaan HTTP
Lingkaran permintaan / respons HTTP yang khas:
- Browser meminta halaman HTML. Server mengembalikan file HTML.
- Browser meminta style sheet. Server mengembalikan file CSS.
- Browser meminta gambar JPG. Server mengembalikan file JPG.
- Browser meminta kode JavaScript. Server mengembalikan file JS
- Browser meminta data. Server mengembalikan data (dalam XML atau JSON).
5. XHR - Permintaan Http XML
Semua browser memiliki objek XMLHttpRequest (XHR).
XHR adalah objek JavaScript yang digunakan untuk mentransfer data antara browser web dan server web.
XHR sering digunakan untuk meminta dan menerima data untuk tujuan memodifikasi halaman web.
Meskipun XML dan Http dalam nama, XHR digunakan dengan protokol lain dari HTTP, dan data dapat dari berbagai jenis seperti HTML, CSS, XML, JSON, dan teks biasa.
Objek XHR adalah Mimpi Pengembang Web, karena Anda dapat:
- Memperbarui halaman web tanpa memuat ulang halaman
- Meminta data dari server - setelah halaman dimuat
- Menerima data dari server - setelah halaman dimuat
- Mengirim data ke server - di latar belakang
Objek XHR adalah konsep yang mendasari AJAX dan JSON:

1. Apa itu HTTP?
HTTP adalah singkatan dari HyperText Transfer Protocol. Ini adalah dasar untuk komunikasi data di internet. Komunikasi data dimulai dengan permintaan yang dikirim dari klien dan diakhiri dengan respons yang diterima dari server web.
- URL situs web yang dimulai dengan "http://" dimasukkan dalam browser web dari komputer (klien). Browser dapat chrome, Firefox, Edge, Safari, Opera atau apa pun.
- Browser mengirimkan permintaan yang dikirim ke server web yang menghosting situs web.
- Server web kemudian mengembalikan respons sebagai halaman HTML atau format dokumen lainnya ke browser.
- Browser menampilkan respons dari server ke pengguna.
Representasi simbolis dari proses komunikasi HTTP ditunjukkan pada gambar di bawah ini:
Browser web disebut sebagai Agen Pengguna dan contoh lain dari agen pengguna adalah crawler mesin pencari seperti Googlebot.
2. Struktur Permintaan HTTP dari Klien
Pesan permintaan sederhana dari komputer klien terdiri dari komponen-komponen berikut:
- Baris permintaan untuk mendapatkan sumber daya yang diperlukan, misalnya permintaan GET /content/page1.html meminta sumber daya yang disebut /content/page1.html dari server.
- Header (Contoh – Accept-Language: EN).
- Sebuah garis kosong.
- Badan pesan yang opsional.
Semua baris harus diakhiri dengan pengembalian kereta dan umpan garis. Garis kosong hanya boleh berisi pengembalian pengangkutan dan umpan garis tanpa spasi.
3. Struktur Respons HTTP dari Server Web
Respons sederhana dari server berisi komponen-komponen berikut:
- Kode Status HTTP (Misalnya HTTP/1.1 301 Dipindahkan Secara Permanen, berarti sumber daya yang diminta dipindahkan secara permanen dan dialihkan ke sumber daya lain).
- Header (Contoh – Tipe Konten: html)
- Sebuah garis kosong.
- Badan pesan yang opsional.
Semua baris dalam respons server harus diakhiri dengan pengembalian pengangkutan dan umpan baris. Mirip dengan permintaan, garis kosong dalam respons juga seharusnya hanya memiliki pengembalian pengangkutan dan umpan garis tanpa spasi.
4. Contoh Sesi HTTP
Mari kita ambil contoh bahwa Anda ingin membuka halaman "rumah.html" dari situs "yoursite.com". Di bawah ini adalah bagaimana permintaan dari browser klien harus terlihat seperti untuk mendapatkan halaman "rumah.html" dari "yoursite.com".
GET /home.html HTTP/1.1Host: www.yoursite.com
Respons dari server web akan terlihat seperti di bawah ini:
HTTP/1.1 200 OKDate: Sun, 28 Jul 2013 15:37:37 GMTServer: ApacheLast-Modified: Sun, 07 Jul 2013 06:13:43 GMTTransfer-Encoding: chunkedConnection: Keep-AliveContent-Type: text/html; charset=UTF-8Webpage Content
Chunked transfer encoding adalah metode di mana server merespon dengan data dalam potongan dan ini digunakan di tempat header Content-Length. Komunikasi dihentikan ketika panjang nol potongan diterima dan metode ini digunakan dalam HTTP Versi 1.1.
5. Apa itu HTTPS?
Sekarang Anda mengerti HTTP lalu apa itu HTTPS? HTTPS adalah protokol HTTP aman yang diperlukan untuk mengirim dan menerima informasi dengan aman melalui internet. Saat ini wajib bagi semua situs web untuk memiliki protokol HTTPS untuk memiliki internet yang aman. Browser seperti Google Chrome akan menampilkan peringatan dengan pesan "Tidak Aman" di bilah alamat jika situs tidak ditayangkan melalui HTTPS.
Selain keamanan dan enkripsi, struktur komunikasi protokol HTTPS tetap sama dengan protokol HTTP seperti yang dijelaskan di atas.
Peringatan: Kami tidak menyarankan untuk menggunakan informasi rahasia seperti detail kartu kredit di situs HTTP. Pastikan transaksi keuangan terjadi melalui protokol HTTPS.
6. Bagaimana Cara Memeriksa Permintaan dan Respons HTTP di Chrome?
Nah, sudah waktunya untuk praktis. Mari kita ambil Google Chrome browser populer, tetapi prosesnya tetap sama di semua browser lain untuk melihat detailnya.
- Buka halaman web di Google Chrome dan buka menu "Lihat > Developer > Developer Tools".
- Anda juga dapat membuka konsol pengembang dengan mengklik kanan pada halaman dan memilih opsi "Periksa".
- Buka tab "Jaringan" lalu muat ulang halaman. Sekarang Anda akan melihat waktu pemuatan untuk setiap komponen tunggal pada halaman.
- Klik ikon "Tampilkan Gambaran Umum" untuk menghapus garis waktu sehingga Anda dapat melihat detail lainnya dengan jelas.
- Klik URL halaman di bilah kiri dan buka tab "Respons". (Anda juga dapat melihat detail yang sama di bawah tab "Pratinjau").
Anda dapat melihat detail permintaan dan tanggapan seperti yang telah kami jelaskan di bagian di atas. Tab "Header" akan menampilkan detail informasi header HTTP untuk permintaan dan respons untuk item yang dipilih.
7. Alat Pemeriksa Header HTTP
Mirip dengan Chrome, ada juga banyak alat gratis lainnya yang tersedia untuk memeriksa kode respons yang diterima di header HTTP. Misalnya, buka alat pemeriksa header HTTP ini, masukkan SALAH SATU URL yang ingin Anda periksa dan klik tombol kirim.
Anda akan melihat detail lengkap header seperti di bawah ini:
HTTP/1.1 301 Moved PermanentlyServer: nginxDate: Sun, 25 Feb 2018 16:32:55 GMTContent-Type: text/html; charset=iso-8859-1Connection: keep-aliveLocation: https://www.webnots.com/Cache-Control: max-age=3600Expires: Sun, 25 Feb 2018 17:32:55 GMTHTTP/1.1 200 OKServer: nginxDate: Sun, 25 Feb 2018 16:32:55 GMTContent-Type: text/html; charset=UTF-8Connection: keep-aliveVary: Accept-EncodingX-Frame-Options: SAMEORIGINX-Powered-By: W3 Total Cache/0.9.6Link: ; rel="https://api.w.org/", ; rel=shortlinkVary: X-Forwarded-Proto,User-AgentCache-Control: max-age=3600Expires: Sun, 25 Feb 2018 17:32:55 GMTHost-Header: 192fc2e7e50945beb8231a492d6a8024
8. Pemecahan masalah dengan Kode Status HTTP
Ada banyak alasan, permintaan dari browser tidak akan mendapatkan respon yang diperlukan dari server web. Dalam kasus kegagalan seperti itu, informasi respons dari server web penting untuk pemecahan masalah. Kode status yang dikembalikan oleh server dapat dilihat di bagian Alat Pengembang Chrome dengan jelas. Dalam tangkapan layar di atas, kode baris 4 - HTTP / 1.1 200 OK menunjukkan server berhasil mengembalikan sumber daya yang diminta tanpa masalah. Anda bisa mendapatkan detail ini menggunakan alat pemeriksaan header HTTP seperti yang dijelaskan di atas.
Kode tiga digit yang dikembalikan dari server disebut kode status HTTP, meskipun beberapa orang menyebutnya sebagai kode kesalahan meskipun itu bukan kesalahan. Ini hanyalah respons status dan membantu Anda menemukan alasan kegagalan komunikasi. Ingatlah bahwa kegagalan komunikasi juga dapat terjadi karena masalah browser dan komputer seperti masalah jaringan lokal. Dalam kasus ini, browser modern seperti Chrome akan menampilkan kesalahan browser seperti "err_network_changed", "err_internet_disconnected", dll.
9. Detail Kode Status HTTP
Kode status HTTP dikembangkan sesuai standar Internet yang ditentukan oleh Internet Engineering Task Force (IETF). Mereka diklasifikasikan ke dalam lima kategori yang berbeda seperti di bawah ini:
- Seri 1xx – Pesan Informasi
- 2xx – Pesan Sukses
- 3xx – Pesan Pengalihan
- 4xx – Pesan Kesalahan yang Terkait dengan Klien
- 5xx – Pesan Kesalahan yang Terkait dengan Server
9.1. Seri Informasi – 1xx
Ini adalah kode informasi yang dikirim oleh server yang menunjukkan bahwa permintaan diterima dari klien dengan sukses dan hal yang sama sedang diproses di ujung server. Ini adalah respons sementara dari server yang biasanya hanya berisi baris status dan header opsional dan diakhiri dengan garis kosong. Pelajari lebih lanjut tentang setiap kode status 1xx secara rinci.
9.2. Seri Sukses – 2xx
Ini adalah kode keberhasilan yang dikirim oleh server yang menunjukkan bahwa permintaan diterima dan diproses dengan sukses. Pelajari lebih lanjut tentang setiap kode status 2xx secara rinci.
9.3. Pengalihan – 3xx
Ini adalah kode status untuk pengalihan. Ketika agen pengguna (browser web atau crawler) meminta URL1 dialihkan ke URL sumber daya lain2 maka kode 2xx dikembalikan sebagai respons. Kode-kode ini tidak terlihat di jendela browser karena browser secara otomatis diarahkan ke URL lain. Pelajari lebih lanjut tentang setiap kode status 3xx secara rinci.
9.4. Kesalahan Klien – 4xx
Ini adalah kesalahan dari sisi klien yang tidak dapat diselesaikan oleh server. Contoh sederhana dan terkenal adalah kesalahan "404 - Page Not Found" yang ditampilkan di jendela browser ketika URL yang tidak tersedia diminta oleh browser. Pelajari lebih lanjut tentang setiap kode status 4xx secara rinci.
9.5. Seri Kesalahan Server – 5xx
Ketika server web tidak dapat memenuhi permintaan yang valid dari klien, ia mengirimkan kode kesalahan 5xx dalam respons. Contohnya adalah kesalahan "504 – Gateway Timeout" di mana server web1 bertindak sebagai proxy untuk mendapatkan respons dari server web lain2 tetapi gagal menerima respons tepat waktu. Pelajari lebih lanjut tentang setiap kode status 5xx secara rinci.
Kesimpulan
HTTP adalah singkatan dari Hyper Text Transfer Protocol.
WWW adalah tentang komunikasi antara klien web dan server
Komunikasi antara komputer klien dan server web dilakukan dengan mengirimkan Permintaan HTTP dan menerima Tanggapan HTTP
Penutup
Kami merekomendasikan semua pengguna internet dan pemilik situs web mempelajari konsep dasar HTTP. Ini benar-benar akan membantu dalam memecahkan masalah terkait kegagalan koneksi. Semoga kami telah membahas semua detail yang diperlukan untuk pengguna tingkat pemula dalam panduan ini. Jika Anda melihat detail penting yang terlewatkan, cukup kirimkan komentar. Kami akan mencoba memperbarui panduan ini untuk kepentingan semua pembaca.


