23 Oktober 2009
Apa Itu HTTP??
HTTP... Siapa yang tidak mengenalnya? Konon, hampir semua orang yang pernah, sempat, sedang, ataupun terus menikmati indahnya dunia web, pasti pernah mendengar bahkan menggunakan kata itu, betul?
Untuk sekedar menyenangkan hati, anggap saja pernyataan kami diatas itu betul. Dan untuk mempersingkat jarak, mari... kita anggap saja hampir semua orang sudah tahu singkatan dari apa HTTP itu, yep... HyperText Transfer Protocol. Jadi... HTTP itu bukan singkatan dari... Hamil Tapi Tetap Pasrah.
Tapi... apa kita semua sudah tahu apa sebenarnya HTTP itu? Dan... bagaimana cara kerjanya?
Nah, agar kita lebih mengerti apa sebenarnya HTTP itu, dan bagaimana cara kerjanya, untuk itu... ijinkanlah kami pada kesempatan ini untuk sedikit bercerita kepada mu. Mudah-mudahan, dari cerita kami yang singkat ini, kita semua diberikan kemudahan dalam menempuh setiap cobaan, amin...
Konon, menurut para pakar yang ahli dibidangnya masing-masing... HTTP itu adalah suatu bentuk protokol umum, yang digunakan oleh server dan client untuk berkomunikasi di dunia web. Komunikasi ini terjadi dalam bentuk request dan response. Jadi, kalo sang client merequest, maka sang server akan merespons.
Response apa yang akan diberikan oleh sang server, sangat bergantung dari request (permintaan) dari sang client. Misalnya, sang client merequest sebuah halaman web (html), maka sang server akan merespon dengan cara mengirimkan isi dari halaman web yang diminta oleh sang client tadi.
Atau... bisa juga sang client tadi meminta (merequest) sebuah gambar. Maka sang server akan merespons dengan cara mengirimkan gambar tersebut. Begitu juga saat sang client meresquest file-file lain (video, MP3, program, etc). Singkat kata, respon apa yang akan diberikan oleh server, sangat bergantung dari request yang dilakukan oleh client.
Nah, agar sang server mengerti bagaimana harus merespon, juga agar sang client mengerti bagaimana harus merequest, untuk itulah dibutuhkan saling pengertian yang mendalam antara keduanya. Dalam arti kata, keduanya harus berbicara dengan bahasa yang sama. Kenapa harus sama?
Begini... Coba kau bayangkan apa yang kira-kira akan terjadi saat seorang mafia dari Rusia yang sama sekali tidak bisa berbahasa selain bahasa Rusia, minta diantar ke hotel pada seorang tukang becak yang sama sekali tidak mengerti bahasa selain bahasa Indonesia?
Pilih jawaban yang menurut mu paling masuk akal:
1. Mereka akan saling memaki.
2. Mereka akan saling membenci.
3. Mereka akan saling membodohi.
4. Mereka akan saling berbagi.
Jawaban manapun yang akan kau pilih, itu adalah hak mu. Tapi menurut kami, jawaban yang paling tepat adalah... mereka akan saling tidak mengerti. Yup, jawaban itu memang sengaja tidak kami sertakan diatas. Itu kami lakukan semata-mata demi menjamin bahwa jawaban yang akan kami kemukakan adalah selalu jawaban yang benar.
Nah, dari contoh diatas, kita jadi mulai sedikit mengerti kenapa HTTP diperlukan, betul? Permasalah seperti contoh diatas, rupanya secara sengaja telah terpikirkan juga oleh orang-orang yang bekerja di dunia web. Mereka akhirnya memutuskan untuk mencari bahasa yang bisa mempersatukan antara server dengan client di dunia web.
Maka lahirlah HTTP. Konon, HTTP ini sebenarnya bukanlah murni sebuah species baru. Melainkan, hasil dari pengembangan dari species sebelumnya, yaitu FTP atau File Transfer Protocol. Tapi... kira-kira... kenapa ya, para ahli dan pakar internet itu merasa perlu untuk mengembangkan species FTP?
Menurut kebiasaan, biasanya... bila suatu spesies ingin dikembangkan, pasti karena spesies tersebut memiliki kekurangan yang ingin diperbaiki. Tapi... apa kira-kira kekurangan dari FTP? Apa karena FTP itu kurang jantan? Kurang perkasa? Kurang bergairah? Kurang bijaksana? Kurang harta? Nafsu makannya berkurang, sedangkan nafsu berahinya terus bertambah, sehingga mengakibatkan hilangnya keseimbangan dalam setiap tindak tanduknya?
Nope, meski FTP memang memiliki kekurangan, tapi kekurangannya itu bukanlah berupa aib yang ingin ditutup-ditutupi. Kekurangan yang dimiliki oleh FTP itu antara lain karena FTP itu dianggap cukup rumit untuk di gunakan oleh orang yang masih awam dengan dunia networking dan segala protocollernya.
Nah, dengan memanfaatkan kekurangan-kekurangan yang terdapat dalam FTP, para pakar yang katanya tadi ahli dibidangnya, kemudian mulai merancang sebuah protocol baru, yaitu HTTP. Dengan sekuat tenaga, akhirnya mereka berhasil menciptaken sebuah protokol baru yang lebih sederhana dari FTP.
Tidak seperti protokol FTP yang memiliki banyak perintah dan cukup rumit untuk dimengerti, HTTP memiliki perintah yang lebih sedikit dan lebih mudah untuk dipahami. Apa saja perintah atau biasa di sebut dengan syntax HTTP itu?
Berikut ini syntax-nya:
* GET - Syntax atau perintah ini digunakan untuk meminta atau merequest sebuah objek dari server. Objek ini bisa berupa halaman web, dokumen, file, dan lain-lain. Format penulisan syntax ini adalah sebagai berikut:
GET Request-URI Version
Dimana Request-URI adalah alamat web dari objek yang ingin direquest. Sedangkan Version, adalah versi dari protokol HTTP yang digunakan.
Contohnya, GET www.google.com HTTP/1.1
Itu artinya, sang client sedang merequest halaman utama yang ada di server Google. Sedangkan HTTP/1.1, adalah versi dari protokol HTTP yang digunakan. Maka, sang server akan merespon dengan cara memberitahu mengenai status keberadaan dari objek yang diminta
Status ini berupa angka-angka yang bisa dimengerti oleh client. Misalnya angka 200 untuk menunjukkan bahwa objek tersebut ada. Atau angka 404 untuk memberitahukan bahwa objek tersebut tidak ditemukan di dalam server. Selain informasi status, server juga mengirimkan isi dari objek bersangkutan (bila ada.)
* HEAD - Perintah ini digunakan untuk meminta atau merequest meta-information dari sebuah objek yang ada di server. Format penulisannya adalah sebagai berikut:
HEAD Request-URI Version
Contohnya, HEAD www.google.com HTTP/1.1
Koq mirip dengan perintah GET ya? Lalu, apa bedanya dengan GET tadi?
Yep, perintah HEAD memang mirip dengan GET. Bedanya, kalo menggunakan perintah GET, maka seluruh isi objek yang direquest akan dikirimkan oleh server. Sedangkan kalo menggunakan perintah HEAD, hanya informasi yang terdapat dalam META TAG saja yang akan dikirimkan oleh server.
* PUT - Perintah ini adalah kebalikan dari perintah GET. Maksudnya, kalo GET digunakan oleh client untuk meminta dan mengambil sebuah objek dari server (download), sedangkan perintah PUT digunakan untuk mengirimkan dan menempatkan objek dari client ke server (upload). Format penulisannya hampir mirip:
PUT Request-URI Version
Contohnya: PUT /gambar1.jpg HTTP/1.1
Maksud dari perintah diatas adalah sang client tadi meminta ijin kepada server untuk mengirimkan dan menempatkan sebuah file gambar ke server. Lalu responnya? Itu bergantung dari sang server. Jika memang server tersebut mengijikan client untuk mengupload file, maka file tadi akan disimpan kedalam server.
* POST - Perintah ini hampir mirip dengan perintah PUT. Bedanya, perintah ini biasanya digunakan untuk mengirimkan objek-objek yang butuh penanganan lebih lanjut dari server. Contohnya form isian.
Misalnya saat kamu selesai mengisi form pendaftaran dari suatu situs, maka saat kamu telah selesai mengisi dan ingin mengirimkannya dengan cara mengklik tombol yang disediakan, maka perintah PUT inilah di yang sebenarnya digunakan untuk mengirimkan data tersebut ke server.
Format penulisan perintah ini adalah:
POST Request-URI Version
Contohnya: POST /sign-up.html HTTP/1.1
* DELETE - Yep, perintah ini digunakan untuk meminta server agar menghapus suatu objek. Format penulisannya juga sama seperti saudaranya yang lain, yaitu:
DELETE Request-URI Version
Sebagai contoh: DELETE /Images/gambar1.jpg HTTP/1.1. Hasilnya? Jika server bersangkutan memang memberikan ijin untuk menghapus, maka file gambar1.jpg yang ada di folder images akan dihapus dari server. Jika tidak di ijinkan? Tentu saja file itu tidak akan terhapus.
Nah, cuma itu perintah-perintah yang ada dalam protokol HTTP. Sederhana bukan? Tapi kamu jangan sampai tertipu dengan kesederhanaan perintah-perintah tersebut. Meski sepertinya sederhana, tapi berkat perintah atau syntax-syntax itulah, kamu bisa menikmati apa yang selama ini kamu lihat dan rasakan di dunia web (internet).
Kamu juga mungkin tidak pernah melihat atau merasa menggunakan perintah-perintah ini saat mengakses internet. Padahal sebenarnya perintah-perintah inilah yang kamu gunakan saat sedang bermain-main di dunia web. Tapi, kenapa kamu sampai merasa tidak melihat atau tidak menggunakannya? Kenapa hayooo...?
Yup, itu semua berkat browser yang kamu gunakan. Berkat browser-browser (Internet Explorer, Firefox, Opera, etc) itulah, kamu jadi tidak perlu mengetahui, memahami, bahkan melihat perintah-perintah diatas tadi. Semuanya sudah dihandle oleh browser. Kamu tinggal mengetikkan alamat web, atau mengklik tombol.
Jika memang semuanya sudah dihandle browser, lalu apa gunanya dong, tahu segala macam perintah itu?
Banyak... banyak gunanya bung. Kau akan merasakan manfaatnya saat menggunakan program internet yang masih berbasis text. Terutama saat menggunakan LINUX. Percaya deh, suatu saat nanti, kau pasti akan sangat bersyukur karena pernah mengetahui perintah-perintah ini, DIJAMIN!!!
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar