Pengertian Hypertext Transfer Protocol HTTP Metode Umum HTTP Kode Status Respon HTTP

2.5. Hypertext Transfer Protocol HTTP

2.5.1. Pengertian Hypertext Transfer Protocol HTTP

Hypertext Transfer Protocol HTTP adalah suatu protokol untuk menentukan aturan yang harus diikuti oleh web browser dalam meminta atau mengambil suatu dokumen yang berasal dari sebuah server tertentu. Web browser biasanya memulai permintaan dengan membuat hubungan TCPIP ke port 80 port default dari HTTP. HTTP digunakan untuk mentransfer dokumen dalam World Wide Web WWW, termasuk protokol ringan, tidak berstatus dan generik yang dapat dipergunakan pada berbagai macam dokumen. Pengembang standar HTTP dilaksanakan oleh Konsorium World Wide Web World Wide Consortium W3C dan juga Internet Engineering Task Force IETF yang menghasilkan publikasi beberapa dokumen Request for Comments RFC, antara lain RFC 1945 yang mendefinisikan tentang HTTP1.0 dan RFC 2616 yang mendefinisikan tentang HTTP1.1 2.5.2. HTTP version 2.5.2.1. HTTP0.9 HTTP0.9 adalah versi pertama dari HTTP yang diperkenalkan pada tahun 1991. Versi ini merupakan versi mentah dari HTTP yang dikenal saat ini, yaitu HTTP1.0 dan HTTP1.1. Versi ini masih sangat terbatas dan belum mencakup elemen-elemen web interaktif.

2.5.2.2. HTTP1.0

HTTP1.0 diperkenalkan pada tahun 1996 ketika internet juga mulai banyak digunakan. Perubahan HTTP dari 0.9 ke 1.0 dilakukan untuk mengakomodasi tipe-tipe dokumen yang hendak dikirim beserta enkoding yang dipergunakan dalam pengiriman data dokumen. Pada HTTP1.0 masih menggunakan koneksi terpisah untuk setiap dokumen. Protokol HTTP berdasar pada paradigma request dan respon. Client membuat sebuah koneksi dengan server lalu mengirimkan permintaan pada server . Kemudian server memberikan respon sesuai dengan apa yang diminta oleh client disertai status pesan yang diberikan.

2.5.2.3. HTTP1.1

HTTP1.1 merupakan versi yang paling banyak digunakan saat ini yang diperkenalkan sejak tahun 1997. Salah satu keunggulan dari HTTP1.1 yaitu dapat menggunakan koneksi yang sama untuk melakukan transaksi. Dengan demikian, HTTP1.1 bisa lebih cepat karena memang tidak perlu untuk membuang waktu untuk koneksi berulang-ulang.

2.5.3. Metode Umum HTTP

Menurut RFC 2616, pada HTTP ada beberapa metode dalam melakukan request dan respon antara client dan server , seperti di bawah ini: 1. GET, mengambil informasi dari server sesuai alamat URL yang sudah diberikan dan tidak berpengaruh pada data yang lain. 2. POST, mengirim data ke server yang dituju untuk diproses. 3. HEAD, sama dengan metode GET tetapi hanya mentransfer baris status dan bagian header . 4. PUT, mengunggah representasi sumber tertentu. 5. DELETE, meminta pada server untuk menghapus sumber tertentu. 6. OPTIONS, mengembalikan metode HTTP yang mendukung server , pilihan komunikasi yang tersedia pada request respon. 7. CONNECT, mengubah koneksi permintaan untuk memfasilitasi komunikasi terenkripsi. 8. TRACE, menganalisis koneksi antara client dan server dalam melakukan request dan response .

2.5.4. Kode Status Respon HTTP

Saat server memberikan respon terhadap sebuah permintaan HTTP ada sebuah pesan berupa kode angka 3 digit yang dikirimkan pada client . Digit pertama pada kode status itu menentukan salah satu dari lima kelas respon yang terdapat di bawah ini: 1. 1xx  Informational , kelas dari kode status ini menunjukkan respon sementara. a. 100  Continue , client diperbolehkan untuk melanjutkan permintaannya. b. 101  Switching Protocols , server memahami dan bersedia untuk memenuhi permintaan client . 2. 2xx  Success , permintaan telah berhasil. Informasi yang kembali disesuaikan dengan metode yang digunakan dalam melakukan permintaan. a. 200  OK, permintaan telah berhasil. b. 201  Created , permintaan telah terpenuhi dan menghasilkan sumber daya yang baru dibuat. c. 202  Accepted , permintaan telah diterima untuk diproses, akan tetapi pengolahanpemrosesan belum selesai. d. 203  Non-Authoritative Information , tidak diperlukan dan hanya sesuai apabila respon sebaliknya akan OK kode status 200 e. 204  No Content , server telah memenuhi permintaan tersebut, tetapi tidak perlu mengembalikan isi dari entitas tersebut atau bahkan memperbaharuinya. f. 205  Reset Content , server telah memenuhi permintaan dan client harus melihat ulang dokumen yang sudah dikirim sebagai permintaan. g. 206  Partial Content , server telah memenuhi permintaan GET secara parsial untuk sumber daya. 3. 3xx  Redirection , perlunya untuk mengambil tindakan lebih lanjut oleh client untuk memenuhi permintaan. a. 300  Multiple Choices , client dapat memilih representasi yang disukai dan dapat mengarahkan permintaan ke lokasi tersebut. b. 301  Moved Permanently , sumber daya yang diminta telah ditetapkan secara permanen. c. 302  Found , sumber daya yang diminta sementara berada di bawah URI Uniform Resource Identifier yang berbeda. d. 303  See Other , respon terhadap permintaan dapat ditemukan pada URI Uniform Resource Identifier yang berbeda menggunakan metode GET. e. 304  Not Modified , server memberikan respon pada client yang melakukan permintaan GET bersyarat dan akses diperbolehkan akan tetapi dokumen belum dimodifikasi. f. 305  Use Proxy , sumber yang diminta harus diakses melalui proxy yang sudah diberikan. g. 306  Unused , digunakan pada versi sebelumnya dan sudah tidak lagi digunakan. h. 307  Temporary Redirect , sumber daya yang diminta untuk sementara dialihkan pada URI Uniform Resource Identifier yang berbeda. 4. 4xx  Client Error , kesalahan yang dilakukan oleh client dalam melakukan permintaan, sehingga server memberikan penjelasan tentang situasi kesalahan tersebut. a. 400  Bad Request , permintaan tidak dapat dipahami oleh server . b. 401  Unauthorized , permintaan memerlukan otentikasi dari pengguna. c. 402  Payment Required , kode ini disediakan untuk penggunaan masa depan. d. 403  Forbidden , server memahami permintaan, tetapi menolak untuk memenuhinya. e. 404  Not Found , server tidak menemukan apa-apa yang cocok sesuai dengan request yang diminta client . f. 405  Method Not Allowed , metode yang ditetapkan dalam melakukan request tidak diperbolehkan. g. 406  Not Acceptable , sumber daya yang diidentifikasi oleh permintaan hanya mampu menghasilkan respon tidak dapat diterima sebagai sebuah permintaan. h. 407  Proxy Authentication Required , kode ini mirip dengan kode 401 tidak sah, tapi menunjukkan bahwa client harus terlebih dahulu mengotentikasikan dirinya dengan proxy . i. 408  Request Timeout , client tidak menghasilkan permintaan pada saat server standby . j. 409  Conflict , permintaan tidak dapat diselesaikan karena konflik pada waktu yang bersamaan. k. 410  Gone , sumber daya yang diminta tidak tersedia pada server dan tidak ada alamat yang dikenal. l. 411  Length Required , server menolak untuk menerima permintaan tanpa memenuhi syarat tertentu. m. 412  Precondition Failed , prasyarat yang diberikan ketika dievaluasi dan diuji ternyata palsu. n. 413  Request Entity Too Large , server menolak untuk memproses permintaan karena entitas permintaan lebih dari kemampuan server dalam melakukan proses. o. 414  Request-URI Too Long , server menolak untuk melayani permintaan karena request URI Uniform Resource Identifier lebih panjang, sehingga sulit untuk ditafsirkan. p. 415  Unsupported Media Type , server menolak untuk melayani permintaan karena format yang tidak mendukung. q. 416  Request Range Not Satisfiable , server harus kembali memberikan respon jika permintaan termasuk pada rentang dan tidak saling tumpang tindih. r. 417  Expectation Failed , harapan untuk melayani permintaan tidak dapat dipenuhi pada server berikutnya. 5. 5xx  Server Error , kesalahan pada server karena tidak mampu untuk merespon permintaan yang masuk. a. 500  Internal Server Error , server mengalami kondisi yang tidak terduga sehingga tidak dapat memenuhi permintaan. b. 501  Not Implemented , server tidak mendukung fungsi yang diperlukan dalam memenuhi permintaan. c. 502  Bad Gateway , server yang sementara bertindak sebagai gateway atau proxy tidak mampu memberikan respon yang valid dalam memenuhi permintaan. d. 503  Service Unavailable , server saat ini tidak dapat menangani permintaan. e. 504  Gateway Timeout , server sementara bertindak sebagai gateway atau proxy tidak menerima respon tepat waktu. f. 505  HTTP Version Not Supported , server tidak mendukung versi protokol HTTP yang digunakan dalam permintaan.

2.6. TCP :

Transmission Control Protocol

2.6.1. Pengertian TCP

Transmission Control Protocol TCP merupakan salah satu protokol terpenting pada layer transport selain User Datagram Protocol UDP. TCP memiliki beberapa karakteristik, yaitu connection oriented , reliable dan byte stream service . TCP merupakan protokol yang bersifat connection oriented . Artinya sebelum memulai proses transmisi data terjadi, dua aplikasi TCP harus melakukan pertukaran control informasi handshaking . TCP juga bersifat reliable karena menerapkan fitur deteksi kesalahan dan retransmisi apabila ada data yang rusak, sehingga keutuhan data dapat terjamin. Sedangkan byte stream service artinya paket akan dikirimkan ke tujuan secara berurutan sequencing .

2.6.2. TCP

Header Data TCP dirumuskan pada sebuah datagram IP seperti yang terdapat pada gambar 2.7 di bawah ini: Gambar 2. 7 : Enkapsulasi TCP pada datagram IP