Memahami Request dan Response

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.

Request dan 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:

  1. kategori=elektronik: Ini adalah query parameter yang mengirim informasi bahwa pengguna ingin mencari produk kategori "elektronik".

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