Sebelum kita masuk ke dalam metode-metode yang digunakan untuk menghubungkan klien dan server, mari kita pahami dulu dasar-dasarnya. HTTP (Hypertext Transfer Protocol) adalah protokol yang memungkinkan pertukaran data antara klien (seperti browser atau aplikasi) dengan server di internet. Protokol ini mengatur bagaimana permintaan dari klien dikirimkan dan bagaimana respons dari server diberikan.

Nah, dalam setiap interaksi antara klien dan server, kita menggunakan HTTP methods (metode HTTP). Metode ini memberi instruksi kepada server mengenai apa yang perlu dilakukan—apakah kita ingin mengambil data, mengirim data, memperbarui, atau menghapus sesuatu. Berikut adalah sembilan metode paling umum yang perlu kamu pahami jika ingin serius dalam dunia pengembangan aplikasi atau website.

1. GET : Mengambil Data Tanpa Mengubah Apapun

Metode GET adalah metode paling sederhana dalam HTTP, digunakan untuk mengambil data dari server tanpa melakukan perubahan apapun. Bayangkan ketika kamu mengetik alamat website dan menekan enter, browser-mu mengirim permintaan GET ke server untuk mengunduh halaman yang ingin kamu lihat. Hasilnya? Server akan merespons dengan konten seperti teks, gambar, atau video yang ditampilkan di layar.

GET /products HTTP/1.1
Host: www.tokoonline.com

Kamu akan mendapatkan respon berupa daftar produk yang tersedia tanpa mengubah apapun di server.

 

2. POST : Mengirim Data untuk Membuat Resource Baru

Berbeda dengan GET, metode POST digunakan ketika klien ingin mengirim data baru ke server dan meminta server untuk membuat resource baru berdasarkan data tersebut. Ini biasa digunakan saat kamu mengisi formulir pendaftaran atau membuat postingan di media sosial. Data yang dikirim oleh POST biasanya berada di bagian body dari permintaan HTTP.

POST /register HTTP/1.1
Host: www.tokoonline.com
Content-Type: application/json
{
"username": "pengguna123",
"password": "rahasia123"
}

Data ini akan disimpan di server dan akun baru pun dibuat.

 

3. PUT : Mengganti Resource Secara Keseluruhan

Metode PUT hampir mirip dengan POST, tetapi tujuan utamanya adalah untuk memperbarui resource yang sudah ada di server. Ketika kamu menggunakan PUT, seluruh data resource akan diganti dengan data baru yang kamu kirim. Ini berguna saat kamu ingin mengganti informasi secara keseluruhan, misalnya mengganti profil pengguna.

PUT /users/123 HTTP/1.1
Host: www.tokoonline.com
Content-Type: application/json
{
"username": "penggunaBaru123",
"email": "baru@email.com"
}

Data lama akan diganti dengan yang baru.

 

4. PATCH : Mengupdate Sebagian Data

Metode PATCH digunakan untuk memperbarui bagian tertentu dari resource, berbeda dengan PUT yang mengganti seluruh data. PATCH hanya memodifikasi bagian data yang ingin kamu ubah. Ini lebih efisien jika kamu hanya ingin mengubah satu atau dua field, tanpa mempengaruhi seluruh resource.

PATCH /users/123 HTTP/1.1
Host: www.tokoonline.com
Content-Type: application/json
{
"email": "emailbaru@email.com"
}

Hanya email yang diperbarui tanpa mengubah data lainnya.

 

5. DELETE : Menghapus Resource dari Server

Seperti namanya, metode DELETE digunakan untuk menghapus resource dari server. Ini berguna ketika kamu ingin menghapus akun, postingan, atau file tertentu dari sistem. Sekali dihapus, resource tersebut tidak lagi tersedia di server.

DELETE /users/123 HTTP/1.1
Host: www.tokoonline.com

Akun pengguna tersebut akan dihapus dari server.

 

6. HEAD : Memeriksa Tanpa Mengambil Data

HEAD adalah metode yang mirip dengan GET, namun perbedaannya adalah server hanya akan mengirim header (metadata) tanpa body dari respons. Ini sering digunakan untuk memeriksa apakah resource ada atau untuk mendapatkan informasi seperti waktu modifikasi terakhir tanpa mengambil seluruh konten.

HEAD /products/123 HTTP/1.1
Host: www.tokoonline.com

Server hanya akan merespons dengan header yang berisi informasi apakah pengguna 123 ada di database, tanpa mengirimkan datanya.

 

7. OPTIONS : Mengetahui Metode yang Tersedia

Metode OPTIONS digunakan untuk mengetahui metode apa saja yang bisa digunakan pada resource tertentu di server. Server akan merespons dengan daftar metode yang bisa diterima, seperti GET, POST, DELETE, dan sebagainya.

OPTIONS /products/123 HTTP/1.1
Host: www.tokoonline.com

Server akan merespons dengan daftar metode yang tersedia, seperti GET, PUT, DELETE.

 

8. TRACE : Melacak Jalur Permintaan untuk Debugging

Metode TRACE digunakan untuk melacak permintaan HTTP dari klien ke server. Ini membantu developer memeriksa apakah ada perubahan atau modifikasi pada permintaan saat melewati berbagai lapisan jaringan. TRACE akan mengembalikan permintaan asli yang dikirimkan, sehingga bisa digunakan untuk debugging.

TRACE /users/123 HTTP/1.1
Host: www.tokoonline.com

Server akan mengembalikan permintaan asli untuk melihat apakah ada modifikasi selama perjalanan.

 

9. CONNECT : Membuat Tunnel Aman

Metode CONNECT biasanya digunakan untuk membuat koneksi aman antara klien dan server, seperti pada koneksi HTTPS. Metode ini membuat terowongan komunikasi yang memungkinkan pertukaran data dengan enkripsi, sehingga aman dari penyadapan.

CONNECT www.tokoonline.com:443 HTTP/1.1

Host: www.tokoonline.com

Koneksi dua arah pun dibuat antara klien dan server untuk komunikasi yang aman.


By Juri Pebrianto

IT and software developer From 2014, I focus on Backend Developers with the longest experience with the PHP (Web) programming language, as I said above, I open myself up to new technologies about programming languages, databases and everything related to programming or software development. I have a new experience for React-Js, React-Native, Go-Lang, by the way, this website juripebrianto.my.id is made with React-Js technology as the frontend and Go-Lang as the API and CMS and uses MongoDB as the database.