Sabtu, 11 Februari 2017

DEFINISI HTTP

Hypertext Transfer Protocol (HTTP)


#PENGERTIAN
Hasil gambar untuk HTTP  Hypertext Transfer Protocol (HTTP) adalah sebuah protokol aplikasi untuk didistribusikan, kolaboratif, sistem informasi hypermedia. [1] HTTP adalah dasar komunikasi data untuk World Wide Web.

  Hypertext terstruktur teks yang menggunakan link logis (hyperlink) antara node yang berisi teks. HTTP adalah protokol untuk bertukar atau hypertext transfer.

  Pengembangan HTTP diprakarsai oleh Tim Berners-Lee di CERN pada tahun 1989. pengembangan Standar HTTP dikoordinasi oleh Internet Engineering Task Force (IETF) dan World Wide Web Consortium (W3C), yang berpuncak pada publikasi serangkaian Permintaan komentar (RFC). Definisi pertama dari  / 1.1, versi HTTP yang umum digunakan, terjadi di RFC 2068 pada tahun 1997, meskipun ini usang oleh RFC 2616 pada tahun 1999 dan kemudian lagi oleh RFC 7230 dan keluarga pada tahun 2014.

  Sebuah versi yang lebih baru, penerus HTTP / 2, adalah standar pada tahun 2015, dan kini didukung oleh server web utama.


  Fungsi HTTP sebagai permintaan-respon protokol di model komputasi client-server . Sebuah browser web , misalnya, mungkin klien dan aplikasi yang berjalan pada komputer tuan sebuah situs mungkin server. Klien mengajukan HTTP pesan permintaan ke server. Server, yang menyediakan sumber daya seperti file HTML dan konten lainnya, atau melakukan fungsi lainnya atas nama klien, mengembalikan pesan respon ke klien. Tanggapan berisi informasi status penyelesaian tentang permintaan dan mungkin juga mengandung konten yang diminta dalam tubuh pesannya.
  Sebuah web browser adalah contoh dari agen pengguna (UA). Jenis lain dari agen pengguna termasuk perangkat lunak pengindeksan digunakan oleh penyedia layanan pencarian ( web crawler ), browser suara , aplikasi mobile , dan lain software yang mengakses, mengkonsumsi, atau menampilkan konten web.
  HTTP dirancang untuk memungkinkan elemen jaringan menengah untuk meningkatkan atau mengaktifkan komunikasi antara klien dan server. Situs-lalu lintas tinggi seringkali mendapatkan keuntungan dari web cache server yang memberikan konten atas nama server hulu untuk meningkatkan waktu respon. Web browser sebelumnya cache diakses sumber web dan menggunakan kembali mereka bila mungkin untuk mengurangi lalu lintas jaringan. HTTP proxy server di jaringan pribadi batas dapat memfasilitasi komunikasi untuk klien tanpa alamat global routable, dengan menyampaikan pesan dengan server eksternal.
HTTP adalah sebuah lapisan aplikasi protokol yang dirancang dalam rangka protokol internet . Definisi mengandaikan suatu yang mendasari dan terpercaya lapisan transport protokol, dan Transmission Control Protocol (TCP) yang biasa digunakan. Namun HTTP dapat disesuaikan dengan menggunakan protokol tidak dapat diandalkan seperti User Datagram Protocol (UDP), misalnya dalam HTTPU dan Simple Service Discovery Protocol (SSDP).
Sumber HTTP diidentifikasi dan terletak pada jaringan dengan Uniform Resource Locators (URL), menggunakan Uniform Resource Identifier skema (URI) http dan https. URI dan hyperlink di HTML dokumen membentuk saling terkait hypertext dokumen.
HTTP / 1.1 merupakan revisi dari HTTP asli (HTTP / 1.0). Dalam HTTP / 1.0 yang terpisah koneksi ke server yang sama dibuat untuk setiap permintaan sumber daya. HTTP / 1.1 bisa menggunakan kembali sambungan beberapa kali untuk men-download gambar, skrip , stylesheet , dll setelah halaman telah disampaikan. Oleh karena itu HTTP / 1.1 komunikasi mengalami kurang latency sebagai pembentukan koneksi TCP menyediakan overhead yang cukup.

#SEJARAH

Tim Berners-Lee
Istilah hypertext ini diciptakan oleh Ted Nelson pada tahun 1965 di Xanadu Project , yang pada gilirannya terinspirasi oleh Vannevar Bush visi 's (1930) dari pengambilan informasi berbasis microfilm dan manajemen " memex sistem" yang dijelaskan dalam esainya As We May Think (1945). Tim Berners-Lee dan timnya di CERN dikreditkan dengan inventing HTTP asli bersama dengan HTML dan teknologi yang terkait untuk web server dan web browser berbasis teks. Berners-Lee pertama kali mengajukan "WorldWideWeb" proyek pada tahun 1989 - sekarang dikenal sebagai World Wide Web . Versi pertama dari protokol hanya memiliki satu metode, yaitu GET, yang akan meminta halaman dari server.  Tanggapan dari server selalu halaman HTML. 
Versi didokumentasikan pertama dari HTTP adalah HTTP v0.9 (1991). Dave Raggett memimpin Kelompok Kerja HTTP (HTTP WG) pada tahun 1995 dan ingin memperluas protokol dengan operasi diperpanjang, negosiasi diperpanjang, kaya meta-informasi, diikat dengan protokol keamanan yang menjadi lebih efisien dengan menambahkan metode tambahan dan field header .  RFC 1945 secara resmi diperkenalkan dan diakui V1.0 HTTP pada tahun 1996.
HTTP WG berencana untuk mempublikasikan standar baru pada Desember 1995 dan dukungan untuk pra-standar HTTP / 1.1 berdasarkan kemudian mengembangkan RFC 2068 (yang disebut HTTP-NG) dengan cepat diadopsi oleh pengembang browser besar di awal tahun 1996. Dengan Maret 1996, pra-standar HTTP / 1.1 didukung di ArenaNetscape 2.0 , Netscape Navigator Emas 2,01,  Mosaic 2.7 , [ rujukan? ] Lynx 2.5 , [ rujukan? ] dan di Internet Explorer 2.0 . [ Rujukan? ] Adopsi pengguna akhir dari browser baru itu cepat. Pada bulan Maret 1996, salah satu perusahaan web hosting melaporkan bahwa lebih dari 40% dari browser yang digunakan di Internet adalah HTTP 1.1 compliant. [ Rujukan? ] Itu web hosting perusahaan yang sama melaporkan bahwa pada bulan Juni tahun 1996, 65% dari semua browser mengakses server mereka HTTP / 1.1 compliant. HTTP / 1.1 standar seperti yang didefinisikan dalam RFC 2068 secara resmi dirilis pada bulan Januari 1997. Perbaikan dan pembaruan untuk HTTP / 1.1 standar yang dirilis di bawah RFC 2616 pada bulan Juni 1999.
Pada tahun 2007, Kelompok Kerja HTTPbis dibentuk, sebagian, untuk merevisi dan mengklarifikasi HTTP / 1.1 spesifikasi. Pada bulan Juni 2014, WG merilis update enam-bagian spesifikasi obsoleting RFC 2616 :
  • RFC 7230 , HTTP / 1.1: Pesan Syntax dan Routing
  • RFC 7231 , HTTP / 1.1: Semantik dan Konten
  • RFC 7232 , HTTP / 1.1: Permintaan Bersyarat
  • RFC 7233 , HTTP / 1.1: Rentang Permintaan
  • RFC 7234 , HTTP / 1.1: Caching
  • RFC 7235 , HTTP / 1.1: Authentication
HTTP / 2 diterbitkan sebagai RFC 7540 Mei 2015.


#SESI HTTP

Sesi HTTP adalah urutan jaringan transaksi permintaan-respon. Klien HTTP memulai permintaan dengan membentuk Transmission Control Protocol (TCP) koneksi ke tertentu pelabuhan pada server (biasanya port 80, kadang-kadang port 8080, lihat Daftar TCP dan nomor port UDP ). Server HTTP mendengarkan pada port yang menunggu untuk klien pesan permintaan. Setelah menerima permintaan, server akan mengirimkan kembali baris status, seperti "HTTP / 1.1 200 OK", dan pesan tersendiri. Tubuh pesan ini biasanya adalah sumber daya yang diminta, meskipun pesan kesalahan atau informasi lainnya mungkin juga dikembalikan.




#HTTP Authentication

HTTP menyediakan beberapa skema otentikasi seperti otentikasi akses Dasar dan Digest otentikasi akses yang beroperasi melalui mekanisme tantangan-respon dimana mengidentifikasi server dan isu-isu tantangan sebelum melayani konten yang diminta.
HTTP menyediakan kerangka umum untuk kontrol akses dan otentikasi, melalui set extensible skema otentikasi tantangan-respon, yang dapat digunakan oleh server untuk menantang permintaan klien dan dengan klien untuk memberikan informasi otentikasi. 

#Otentikasi Realms

HTTP Authentication spesifikasi juga menyediakan sewenang-wenang, pelaksanaan konstruksi khusus untuk lebih membagi sumber daya umum untuk akar diberikan URI. Nilai ranah string, jika ada, dikombinasikan dengan URI akar kanonik untuk membentuk komponen ruang perlindungan tantangan. Ini berlaku memungkinkan server untuk menentukan lingkup otentikasi terpisah di bawah satu akar URI 

#Metode permintaan


HTTP mendefinisikan metode (kadang-kadang disebut sebagai kata kerja) untuk menunjukkan tindakan yang diinginkan yang akan dilakukan pada sumber daya diidentifikasi. Apa sumber daya ini mewakili, apakah data yang sudah ada atau data yang dihasilkan secara dinamis, tergantung pada pelaksanaan server. Seringkali, sumber daya sesuai dengan file atau output dari sebuah eksekusi yang berada di server. HTTP / 1.0 spesifikasi  mendefinisikan GET, POST dan KEPALA metode dan HTTP / 1.1 spesifikasi menambahkan 5 metode baru: PILIHAN, PUT, DELETE, TRACE dan CONNECT. Dengan yang ditentukan dalam dokumen-dokumen semantik mereka sudah dikenal dan dapat bergantung pada. Setiap klien dapat menggunakan metode apapun dan server dapat dikonfigurasi untuk mendukung setiap kombinasi metode. Jika metode ini tidak diketahui untuk perantara itu akan diperlakukan sebagai tidak aman dan non-idempoten metode. Tidak ada batasan untuk jumlah metode yang dapat didefinisikan dan ini memungkinkan untuk metode masa depan akan ditentukan tanpa melanggar infrastruktur yang ada. Misalnya, WebDAV didefinisikan 7 metode baru dan RFC 5789 ditentukan PATCH metode.