HTTP (Hypertext Transfer Protocol) merupakan sebuah protokol pengiriman data yang biasa digunakan di internet, terutama pada World Wide Web (WWW). Dalam komunikasi HTTP, ada dua pihak yang terlibat, yaitu client dan server.
Client
Client adalah pihak yang meminta data ke server, pesan yang dikirimkannya dinamakan request. Berikut adalah format request yang harus dikirimkan client ke server :
HTTP-Method URI HTTP-Version Headers Request Body
HTTP-Method : Salah satu method HTTP yang menyatakan maksud/tujuan request tersebut.
URI : Alamat resource pada server yang ingin diakses oleh client.
HTTP-Version : Versi HTTP yang digunakan, misalnya HTTP/1.1 atau HTTP/2
Headers : Informasi tambahan seperti cookie, user agent, CSRF token, dll jika ada. Dipisahkan dengan karakter CRLF.
Request Body : Informasi tambahan yang akan dikirimkan jika ada. Biasa digunakan pada request yang berasal dari form input.
Antara Headers dengan Request Body harus dipisahkan dengan satu baris kosong.
Contoh client yang paling sering digunakan adalah web browser, seperti Mozilla Firefox, Google Chrome, Internet Explorer, Edge, dll. Contoh client lainnya biasanya cURL, yang biasa digunakan untuk melihat
Server
Server adalah pihak yang menerima dan memproses request, serta mengirim data yang dibutuhkan client yang disebut response. Berikut adalah format response yang harus dikirimkan server ke client :
HTTP-Version Status-Code Headers Response Body
HTTP-Version : Versi HTTP yang digunakan, sama seperti pada client.
Status-Code : Kode yang menunjukkan request diterima atau tidak.
Headers : Informasi tambahan seperti cookie, versi server yang digunakan, dll jika ada. Dipisahkan dengan karakter CRLF.
Response Body : Informasi tambahan yang dikirimkan jika ada.
Antara Headers dengan Response Body harus dipisahkan dengan satu baris kosong.
Beberapa aplikasi server yang digunakan diantaranya Apache, nginx, IIS, dan lighttpd.
Method-Method pada HTTP
Berikut merupakan beberapa method yang sering digunakan pada HTTP, tepatnya digunakan dalam pengiriman request dari client ke server.Method | Deskripsi |
---|---|
GET | Biasanya digunakan client untuk membaca data dari server. |
POST | Biasanya digunakan client untuk memasukkan atau menginputkan data ke server. |
DELETE | Biasanya digunakan client untuk menghapus data di server. |
PUT | Biasanya digunakan client untuk mengubah/memodifikasi data di server. |
PATCH | Biasanya digunakan client untuk mengubah/memodifikasi data di server. |
HEAD | Biasanya digunakan client untuk meminta informasi header dari server. |
Status Code pada HTTP
Berikut merupakan status code yang digunakan pada HTTP, tepatnya digunakan dalam pengiriman response dari server ke client.
Status Code | Deskripsi |
---|---|
1xx | Status code yang diawali 1 biasanya digunakan untuk mengirim informasi bahwa request telah diterima dan sedang diproses. |
2xx | Status code yang diawali 2 biasanya digunakan untuk mengirim informasi bahwa request berhasil diproses dengan baik. |
3xx | Status code yang diawali 3 biasanya digunakan untuk mengirim informasi bahwa client harus diarahkan (redirect) ke URI lain untuk melanjutkan proses. |
4xx | Status code yang diawali 4 biasanya digunakan untuk mengirim informasi bahwa client mengirim request yang salah atau tidak bisa diterima. |
5xx | Status code yang diawali 5 biasanya digunakan untuk mengirim informasi bahwa server gagal dalam memproses request. |
Referensi :
- https://www.tutorialspoint.com/http/index.htm
- https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
- https://httpstatuses.com/
- https://www.tutorialspoint.com/http/index.htm
- https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
- https://httpstatuses.com/