Ketika kita membuat web, sudah pasti kita harus memahami bagaimana sebuah web bekerja pada browser. Supaya saat kita ingin mengambil data dari API dan menampilkannya pada client, semuanya bisa sesuai.
Segala property yang kita inginkan dari web bisa kita ambil dari bagaimana sebuah web berkomunikasi. Web berkomunikasi menggunakan konsep request dan response
Apa Itu Request Dan Response?
Setiap kita melihat tampilan web sebenarnya kita menerima hasil dari response web. Yang mana sebelum kita melihatnya, kita duharuskan memasukkan url, disebut request
Mari kita perhatikan flow cara kerja request dan respons dibawah
Setelah kita memahami bagaimana web dan browser berkomunikasi menggunakan request dan response, kita bisa memanfaatkan segala property dan data yang dibawah oleh request maupun response
Seperti ketika kita ingin menampilkan isi web untuk url tertentu maka kita bisa mengambil property url pada req.url. Berarti setiap kali client mengetikkan url seperti /api/products maka isi web akan menampilkan data yang dimaksudkan oleh url. Selain /api/products maka akan menampilkan isi yang lain
Selain req.url, ada juga req.method dimana segala method masukkan seperti GET, POST, dan DELETE akan diproses sesuai method tersebut
Untuk mengaturnya kita menggunakan prinsip conditional if.
Perbedaan Request & Response Secara Praktek?
Di tengah tengah menulis kode, pasti terbesit dipikiran bahwa request dan response ini mengapa mirip sekali yaa? Lalu apa yang membedakan
Mungkin ini terjadi karena saat mengisi response statusCode (misalnya) kita mengisinya secara manual
Padahal bukan kita sebagai user yang memintanya demikian, namun kita hanya menanamkan nilai default untuk rancangan web kita
res.writeHead(200, { "Content-Type": "application/json" });
res.end(JSON.stringify(products));
Sedangkan request kita memang literally meminta web untuk menampilkan segala hal yang kita inginkan. Misalnya memasukkan alamat web. yasyaindra.com
Tanpa disadari menuliskan yasyaindra.com pada kolom url browser itu merupakan request kita sebagai user pada web server (yang ada di US tentunya). Atau kita saat kita mengujinya pada aplikasi Postman
Web memberikan response berupa data Json saat kita mengirimkan request url dengan method GET |
Tapi saya jarang kok menuliskan URL seperti itu. Saya lebih suka mengklik link yang orang orang bagikan
Nah, sebenarnya tanpa disadari saat kita mengklik sebuah link, link itu berisi url yang ditulis oleh para author dengan cara mempastekannya begitu saja. Selain itu, url atau link yang sangat panjang sehingga kita tak mungkin menghafalkannya
Kesimpulan
Memang saat kita menulis kode program request dan response akan terlihat persis. padahal berbeda. Saat kita menuliskan res.send() misalnya. Ini berarti kita menanamkan response default untuk menampilkan apapun yang kita inginkan, bisa tampilan web. Namun saat kita menulis req.url, misalnya. Kita berharap saat browser menerima url /api/products (misalnya) dari client. Maka ia akan menampilkan response tertentu seperti status kode 200 yang menandakan request telah berhasil