HTTP
HTTP (Hipertext Transfer Protocol) adalah sebuah protokol jaringan aplikasi layer yang digunakan untuk sistem informasi terdistribusi, kolaboratif, dan menggunkan hipermedia. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen hiperteks, yang kemudian membentuk World Wide Web. Saat ini terdapat 2 versi mayor dari protokol HTTP, yakni/1.0 yang menggunakan koneksi terpisah untuk setiap dokumen, dan HTTP/1.1 yang dapat menggunakan koneksi yang sama untuk melakukan transaksi. Dengan demikian, HTTP/1.1 bisa lebih cepat karena memang tidak perlu membuang waktu untuk pembuatan koneksi berulang-ulang.
Pengembangan standard HTTP ini telah dilaksanakan oleh Konsorsium World Wide Web (World Wide Web Consortium/W3C) dan juga Internet Engineering Task Force (IETF), yang berujung pada publikasi beberapa dokumen Request For Comments (RFC), dan yang paling banyak dirujuk adalah RFC 2616 yang mendefinisikan HTTP/1.1.
HTTP merupakan sebuah protokol meminta/menjawab antara client dan server. sebuah client HTTP (seperti web browser atau robot pencari referensi), biasanya memulai meminta permintaan dengan membuat hubungan ke port tertentu di sebuah server Webhosting tertentu (port 80). Client yang mengirimkan permintaan HTTP juga dikenal dengan user-agent. Server yang meresponnya, yang menyimpan sumber seperti berkas HTML dan gambar, dikenal dengan origin server. diantara user-agent dan origin server, bisa saja ada penghubung seperti halnya proxy, gateway dan tunnel.
HTTP tidaklah terbatas untuk penggunaan dengan TCP/IP, meskipun HTTP merupakan salah satu protokol aplikasi TCP/IP paling populer melalui internet. Memang HTTP dapat diimplementasikan diatas protokol yang lain diatas internet atau diatas jaringan lainnya, tetapi HTTP membutuhkan sebuah protokol lapisan transport yang dapat diandalkan.
Metode Permintaan
HTTP menetapkan 9 metode yang menunjukkan tindakan yang ingin dilakukan terhadap sumber terindentifikasi. Hal yang diwakili sumber ini, berupa data yang sudah ada atau data yang diciptakan secara dinamis, bergantung pada implementasi layanan. Biasanya sumber ini berkaitan dengan berkas pelaksana yang menetap pada layanan.
1.HEAD
Meminta tanggapan yang identik dengan tanggapan yang sesuai dengan permintaan GET. Ini berguna untuk mengakses informasi yang tertulis tanpa perlu mengangkut seluruh konten.
2.GET
Meminta representasi sumber tertentu. Permintaan menggunakan GET tidak boleh memiliki kepentingan melakukan tindakan selain pengaksesan.
3.POST
Mengirimkan data untuk diproses ke sumber terindentifikasi.
4.PUT
Mengunggah representasi sumber tertentu.
5.DELETE
Menghapus sumber tertentu.
6.TRACE
Menggaungkan kembali permintaan yang diterima, sehingga client dapat melihat perubahab atau tambahan yang dilakukan oleh layanan perantara.
7.OPTIONS
Mengembalikan metode HTTP yang didukung layanan untuk URL tertentu. Ini dapat digunakan untuk memeriksa fungsionalitas layanan web dengan meminta ‘*’ daripada dungsionalitas sumber tertentu.
8.CONNECT
Menukarkan koneksi permintaan dengan terowongan TCP/IP transparan, biasanya memfasilitasi komunikasi terenkripsi SSL (HTTPS) melalui proxy HTTP yang tidak terenkripsi.
9.PATCH
Menerapkan modifikasi parsial terhadap sumber.
Sumber Referensi :
http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
Pada artikel yang saya buat ini, saya akan melakukan percobaan permasalahan pada protokol HTTP ketika HTTP yang berhasil diakses dan yang tidak berhasil diakses. Aplikasi yang saya gunakan untuk melakukan capturing pada percobaan ini adalah Microsoft Network Monitor. Aplikasi untuk mengakses ke web browser menggunakan aplikasi Nightly (web browser seperti firefox).
HTTP Loading Web Success
Pada percobaan ini, pertama kali yang saya lakukan adalah mengkoneksikan modem ke sebuah internet. Setelah itu membuka aplikasi capturing yaitu Microsoft Network Monitor. Berikut merupakan hasil capturing protokol HTTP.
Terlihat pada gambar diatas, alamat IP 10.44.209.233 merupakan alamat IP yang saya dapat ketika masuk ke jaringan internet (client).
Pada frame 8, alamat IP client melakukan request ke sebuah URL dengan alamat tujuan static.main-hosting.eu. Pada proses ini client bertanya kepada server, apakah server HTTP siap digunakan untuk menampilkan halaman web.
Pada frame 13, server menjawab request dari client dengan info “HTTP:Response, HTTP/1.1, Status: OK, URL:”, menunjukkan bahwa URL siap digunakan untuk membuka halaman web.
Frame 52, alamat IP 10.44.209.233 (client) merequest ke alamat IP 77.234.43.91 (server). Terdapat info “HTTP:Request, GET /v2/rating/cpanel.idhostinger.com”, menunjukkan bahwa alamat IP client meminta akses halaman web ke alamat http://cpanel.idhostinger.com.
Dan akhirnya pada frame 59, server merespon adanya permintaan dari sebuah client untuk mengakses halaman web http://cpanel.idhostinger.com. Terdapat info “HTTP:Response, HTTP/1.1, Status: OK, URL: /v2/rating/cpanel.idhostinger.com” menunjukkan bahwa halaman web http://cpanel.idhostinger.com siap digunakan untuk akses web.
Dengan kata lain, halaman web telah berhasil dilakukan dan tidak ada halaman yang error.
HTTP Block Site
Pada percobaan ini, saya akan mencoba untuk menjelaskan tentang bagaimana halaman web yang tidak dapat diakses atau halamantersebut telah diblokir oleh admin jaringan. Berikut merupakan screenshotnya.
13713512431204955459
Dilihat pada frame 19, alamat IP 10.44.75.253 (client) merequest URL ke alamat IP 159.253.131.76 (server). Client meminta kepada server apakah halaman web siap digunakan atau dapat diakses oleh client?
Frame 24, server merespon adanya permintaan yang dilakukan oleh client. Respon tersebut adalah “HTTP:Response, HTTP/1.1, Status: Bad request, URL:”, menunjukkan bahwa request untuk halaman web dari client tidak bisa dilakukan dikarenakan alamat yang dituju telah diblok oleh admin jaringan sehingga tidak dapat diakses.