Memahami Request dan Response pada HTTP
Kita perlu mengenal lebih dalam mengenai apa itu Request, dan juga apa itu Response. Ketika kita berinteraksi dengan sebuah website, ataupun API, kita pasti akan melakukan sebuah Permintaan
atau yang seterusnya akan kita kenal sebagai Request
. Request ini akan dikirimkan ke sebuah server, dan server akan memberikan sebuah Respon
atau yang seterusnya akan kita kenal sebagai Response
.
Dalam sebuah request, kita akan mengirimkan sebuah method
yang akan memberitahu server apa yang kita inginkan. Method ini bisa berupa GET
, POST
, PUT
, PATCH
, DELETE
, dan lain-lain. Selain itu, kita juga akan mengirimkan sebuah path
yang akan memberitahu server kita ingin mengakses apa. Selain itu, kita juga bisa mengirimkan sebuah header
yang akan memberitahu server mengenai informasi apa yang kita kirimkan. Terakhir, kita juga bisa mengirimkan sebuah body
yang akan berisi informasi yang kita kirimkan ke server.
Pada umumnya Body
hanya akan digunakan pada method POST
, PUT
, PATCH
, dan DELETE
. Sedangkan pada method GET
, Body
tidak akan digunakan.
Request
Method
Method adalah sebuah cara untuk memberitahu server apa yang kita inginkan. Method ini akan dikirimkan dalam sebuah request. Method yang paling sering digunakan adalah GET
dan POST
. Method GET
digunakan untuk mengambil data dari server, sedangkan method POST
digunakan untuk mengirimkan data ke server.
Selain itu, ada juga method PUT
, PATCH
, dan DELETE
. Method PUT
digunakan untuk mengubah data yang sudah ada di server, sedangkan method PATCH
digunakan untuk mengubah data yang sudah ada di server, namun hanya sebagian saja. Sedangkan method DELETE
digunakan untuk menghapus data yang sudah ada di server.
Routes
Path adalah sebuah cara untuk memberitahu server kita ingin mengakses apa. Path ini akan dikirimkan dalam sebuah request. Path ini biasanya akan dimulai dengan sebuah /
dan diikuti dengan nama path yang kita inginkan. Sebagai contoh, jika kita ingin mengakses halaman home
, maka kita akan mengirimkan sebuah request dengan path /home
.
Headers
Header adalah sebuah cara untuk memberitahu server mengenai informasi apa yang kita kirimkan. Header ini akan dikirimkan dalam sebuah request. Header ini biasanya akan berisi informasi mengenai Content-Type
, Authorization
, dan masih banyak lagi.
Body
Body adalah sebuah cara untuk memberitahu server mengenai informasi apa yang kita kirimkan. Body ini akan dikirimkan dalam sebuah request. Body ini biasanya akan berisi informasi yang ingin kita kirimkan ke server. Sebagai contoh, jika kita ingin mengirimkan sebuah data user, maka kita akan mengirimkan data user tersebut dalam sebuah body.
Query String dan Query Parameter
Query String dan Query Parameter adalah sebuah cara untuk memberitahu server mengenai informasi apa yang kita kirimkan. Query ini akan dikirimkan dalam sebuah request. Query ini biasanya akan berisi informasi yang ingin kita kirimkan ke server. Query parameters adalah bagian dari URL yang digunakan untuk mengirim data tambahan kepada server saat melakukan permintaan HTTP GET
. Mereka digunakan untuk memberikan informasi tentang data yang diminta atau untuk memfilter data berdasarkan sesuatu. Query parameters ditambahkan ke URL setelah tanda tanya (?) dan dipisahkan dengan tanda ampersand (&) jika ada lebih dari satu.
Contoh URL dengan query parameters:
https://www.contoh.com/cari?kategori=elektronik&harga=1000
Dalam contoh di atas, ada dua query parameters:
-
kategori=elektronik: Ini adalah query parameter yang mengirim informasi bahwa pengguna ingin mencari produk kategori "elektronik".
-
harga=1000: Ini adalah query parameter yang mengirim informasi bahwa pengguna ingin mencari produk dengan harga maksimum 1000.
Server dapat membaca query parameters ini dan menggunakan informasi tersebut untuk menghasilkan respons yang sesuai. Misalnya, server dapat mengembalikan daftar produk elektronik dengan harga di bawah 1000.
Beberapa poin penting tentang query parameters:
Query parameters bersifat opsional, yang berarti Anda dapat memiliki URL tanpa query parameters. Query parameters dapat digunakan untuk filter, sorting, paging, atau mengirim data lainnya kepada server. Penggunaan query parameters dapat bervariasi tergantung pada aplikasi web atau API yang digunakan, dan pemahaman tentang bagaimana server menggunakannya adalah penting untuk menghasilkan permintaan HTTP yang efektif.
Params
Sama halnya seperti request yang dikirim query, request params dikirim melalui URL juga. Namun, request params dikirim melalui path URL. Request params biasanya digunakan untuk menyematkan id atau uuid, yang nantinya akan digunakan dalam pengambilan data berdasarkan id, atau melakukan update data berdasarkan id. Request params biasanya akan dikirimkan dalam sebuah request. Request params ini biasanya akan berisi informasi yang ingin kita kirimkan ke server. Sebagai contoh, kita akan mengambil informasi user melalui request params.
Contoh URL dengan request params:
https://www.contoh.com/user/1
Dalam contoh di atas, ada satu request params:
- 1: Ini adalah request params yang mengirim informasi bahwa pengguna ingin mencari user dengan id 1.
Server dapat membaca request params ini dan menggunakan informasi tersebut untuk menghasilkan respons yang sesuai. Misalnya, server dapat mengembalikan data user dengan id 1.
Beberapa poin penting tentang request params:
Request params bersifat opsional, yang berarti Anda dapat memiliki URL tanpa request params. Request params dapat digunakan untuk filter, sorting, paging, atau mengirim data lainnya kepada server.
Response
Status Code
Status Code adalah sebuah cara untuk memberitahu client mengenai status dari request yang kita kirimkan. Status Code ini akan dikirimkan dalam sebuah response. Status Code ini biasanya akan berisi informasi mengenai 200
, 201
, 400
, 401
, 403
, 404
, 500
, dan masih banyak lagi.
Headers
Header adalah sebuah cara untuk memberitahu client mengenai informasi apa yang kita kirimkan. Header ini akan dikirimkan dalam sebuah response. Header ini biasanya akan berisi informasi mengenai Content-Type
, Authorization
, dan masih banyak lagi.
Body
Body adalah sebuah cara untuk memberitahu pada bagian Front-End mengenai informasi apa yang kita kirimkan. Body ini akan dikirimkan dalam sebuah response. Body ini biasanya akan berisi informasi yang ingin kita kirimkan ke Front-End. Sebagai contoh, jika kita ingin mengirimkan sebuah data user, maka kita akan mengirimkan data user tersebut dalam sebuah body.
Perbedaan Body pada Request
dan Response
hanyalah pada Request
kita mengirimkan data ke server, sedangkan pada Response
kita mengirimkan data ke Front-End.