Protokol Transfer Hiperteks: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
Gunarto1r (bicara | kontrib)
Membalikkan revisi 6841530 oleh Radiusdanu (bicara)
Gunarto adam (bicara | kontrib)
k kembalikan revisi
Baris 1:
'''Hypertext Transfer Protocol''' (HTTP) adalah sebuah [[protokol jaringan]] [[lapisan aplikasi]] yang digunakan untuk [[sistem terdistribusi|sistem informasi terdistribusi]], kolaboratif, dan menggunakan [[hipermedia]]. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen [[hiperteks]], yang kemudian membentuk [[World Wide Web]] pada tahun [[1990]] oleh [[fisikawan]] [[Inggris]], [[Tim Berners-Lee]]. Hingga kini, ada dua versi mayor dari protokol HTTP, yakni HTTP/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 perluusah membuang waktu untuk pembuatan koneksi berulang-ulang.
{{HTTP}}
'''Hypertext Transfer Protocol''' (HTTP) adalah sebuah [[protokol jaringan]] [[lapisan aplikasi]] yang digunakan untuk [[sistem terdistribusi|sistem informasi terdistribusi]], kolaboratif, dan menggunakan [[hipermedia]]. Penggunaannya banyak pada pengambilan sumber daya yang saling terhubung dengan tautan, yang disebut dengan dokumen [[hiperteks]], yang kemudian membentuk [[World Wide Web]] pada tahun [[1990]] oleh [[fisikawan]] [[Inggris]], [[Tim Berners-Lee]]. Hingga kini, ada dua versi mayor dari protokol HTTP, yakni HTTP/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 standar HTTP 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 dipublikasikan pada bulan [[Juni]] [[1999]]), yang mendefinisikan HTTP/1.1.
Baris 6 ⟶ 5:
Dukungan untuk HTTP/1.1 yang belum disahkan, yang pada waktu itu RFC 2068, secara cepat diadopsi oleh banyak pengembang [[penjelajah Web]] pada tahun [[1996]] awal. Hingga [[Maret]] 1996, HTTP/1.1 yang belum disahkan itu didukung oleh [[Netscape|Netscape 2.0]], [[Netscape|Netscape Navigator Gold 2.01]], [[Mosaic|Mosaic 2.7]], [[Lynx|Lynx 2.5]], dan dalam [[Internet Explorer|Microsoft Internet Explorer 3.0]]. Adopsi yang dilakukan oleh pengguna akhir penjelajah Web pun juga cepat. Pada bulan Maret 2006, salah satu perusahaan Web hosting melaporkan bahwa lebih dari 40% dari penjelajah Web yang digunakan di Internet adalah penjelajah Web yang mendukung HTTP/1.1. <ref>webcom.com glossary entry for HTTP/1.1[http://www.webcom.com/glossary/http1.1.shtml "http://www.webcom.com/glossary/http1.1.shtml"] Retrieved on May 29, 2009</ref>Perusahaan yang sama juga melaporkan bahwa hingga [[Juni]] [[1996]], 65% dari semua penjelajah yang mengakses ''server''-[[server]] mereka merupakan [[penjelajah Web]] yang mendukung HTTP/1.1. Standar HTTP/1.1 yang didefinisikan dalam RFC 2068 secara resmi dirilis pada bulan Januari 1997. Peningkatan dan pembaruan terhadap standar HTTP/1.1 dirilis dengan dokumen RFC 2616 pada bulan Juni 1999.
 
HTTP adalah sebuah protokol meminta/menjawab antara [[klien]] dan [[server]]. Sebuah klien HTTP (seperti ''[[web browser]]'' atau robot dan lain sebagainya), biasanya memulai permintaan dengan membuat hubungan ke [[port (komputer)|port]] tertentu di sebuah server ''[[WebhostingWeb hosting]]'' tertentu (biasanya ''port'' 80). Klien yang mengirimkan permintaan HTTP juga dikenal dengan '''''user agent'''''. Server yang meresponsnya, yang menyimpan sumber daya seperti berkas HTML dan gambar, dikenal juga sebagai '''''origin server'''''. Di antara user agent dan juga ''origin server'', bisa saja ada penghubung, seperti halnya ''[[proxy]]'', ''[[gateway]]'', dan juga ''[[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 di atas protokol yang lain di atas Internet atau di atas jaringan lainnya. seperti disebutkan dalam "implemented on top of any other protocol on the Internet, or on other networks.", tapi HTTP membutuhkan sebuah protokol lapisan transport yang dapat diandalkan. Protokol lainnya yang menyediakan layanan dan jaminan seperti itu juga dapat digunakan.."<ref>Fielding, et al. [http://www.w3.org/Protocols/rfc2616/rfc2616-sec1.html#sec1.4 "Internet RFC 2616."], section 1.4. Retrieved on January 21, 2009.</ref>
Baris 16 ⟶ 15:
'''HTTP''' ('''''Hypertext Transfer Protocol''''', lebih sering terlihat sebagai '''''http''''') adalah [[protokol jaringan|protokol]] yang dipergunakan untuk mentransfer dokumen dalam ''[[World Wide Web]]'' (WWW). Protokol ini adalah protokol ringan, tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen.
 
Pengembangan HTTP dikoordinasi oleh [[Konsorsium World Wide Web]] (W3C) dan grup bekerja [[Internet Engineering Task Force]] (IETF), bekerja dalam publikasi satu seri [[Request for Comment|RFC]], yang paling terkenal RFC 2616, yang menjelaskan HTTP/1.1, versi HTTP yang digunakan umum sekarang ini.
== Sejarah ==
Protokol HTTP pertama kali dipergunakan dalam [[WWW]] pada tahun [[1990]]. Pada saat tersebut yang dipakai adalah protokol HTTP versi 0.9. Versi 0.9 ini adalah protokol transfer dokumen secara mentah, maksudnya adalah data dokumen dikirim sesuai dengan isi dari dokumen tersebut tanpa memandang tipe dari dokumen.
Baris 24 ⟶ 23:
Sesuai dengan perkembangan infrastruktur [[internet]] maka pada tahun [[1999]] dikeluarkan HTTP versi 1.1 untuk mengakomodasi ''[[proxy server|proxy]]'', ''cache'' dan [[koneksi]] yang persisten.
 
==MetodeSesi permintaanHTTP==
[[Image:Http request telnet ubuntu.png|thumb|right|250px|Sebuah permintaan HTTP dilakukan menggunakan telnet. Permintaan, kepala tanggapan dan badan tanggapan ditunjukkan pada gambar.]]
HTTP menetapkan sembilan metode (kadang disebut "verbs") yang menunjukkan tindakan yang ingin dilakukan terhadap '''sumber''' teridentifikasi. Hal yang diwakili sumber ini, berupa data yang sudah ada atau data yang diciptakan secara dinamis, bergantung pada implementasi peladen. Biasanya sumber ini berkaitan dengan berkas atau keluaran dari berkas pelaksana yang menetap di peladen.
 
; HEAD: Meminta tanggapan yang identik dengan tanggapan yang sesuai dengan permintaan GET, namun tanpa badan tanggapan. Ini berguna untuk mengakses informasi meta yang tertulis dalam kepala tanggapan tanpa perlu mengangkut seluruh konten.
; GET: Meminta representasi sumber tertentu. Permintaan menggunakan GET (dan beberapa metode HTTP lain) "tidak boleh memiliki kepentingan melakukan tindakan selain [[pengaksesan data|pengaksesan]]". [[W3C]] telah menerbitkan prinsip panduan mengenai perbedaan ini dengan menyatakan, "desain [[aplikasi web]] harus mematuhi prinsip di atas, serta batasan sejenis."<ref>{{cite web|last=Jacobs|first=Ian|title=URIs, Addressability, and the use of HTTP GET and POST|url=http://www.w3.org/2001/tag/doc/whenToUseGet.html#checklist|work= Technical Architecture Group finding|publisher=W3C|accessdate=26 September 2010|year=2004}}</ref>
; [[POST (HTTP)|POST]]: Mengirimkan data untuk diproses (misalnya dari [[bentuk HTML]]) ke sumber teridentifikasi. Data dimasukkan dalam badan permintaan. Ini dapat menghasilkan pembentukan sumber baru atau pemutakhiran sumber yang sudah ada atau keduanya.
; PUT: Mengunggah representasi sumber tertentu.
; DELETE: Menghapus sumber tertentu.
; TRACE: Menggaungkan kembali permintaan yang diterima, sehingga klien dapat melihat perubahan atau tambahan yang dilakukan oleh peladen perantara.
; OPTIONS: Mengembalikan metode HTTP yang didukung peladen untuk [[URL]] tertentu. Ini dapat digunakan untuk memeriksa fungsionalitas peladen web dengan meminta '*' daripada fungsionalitas sumber tertentu.
; CONNECT: Menukarkan koneksi permintaan dengan [[protokol penerowongan|terowongan TCP/IP]] transparan, biasanya untuk memfasilitasi komunikasi terenkripsi [[Transport Layer Security|SSL]] ([[HTTPS]]) melalui [[proksi HTTP]] tak terenkripsi.<ref>{{cite web
| url = http://www.kb.cert.org/vuls/id/150227
| title = Vulnerability Note VU#150227: HTTP proxy default configurations allow arbitrary TCP connections
| accessdate = 2007-05-10 | date = 2002-05-17 | publisher = [[CERT Coordination Center|US-CERT]]
}}</ref>
; PATCH: Menerapkan modifikasi parsial terhadap sumber.<ref>{{cite web
| url = http://tools.ietf.org/html/rfc5789
| title = RFC 5789: PATCH Method for HTTP
| first1 = Lisa | last1 = Dusseault | first2 = James M. | last2 = Snell
}}</ref>
 
Peladen HTTP diminta untuk mengimplementasikan sedikitnya metode GET dan HEAD<ref>{{cite web|url=http://tools.ietf.org/html/rfc2616#section-5.1.1 |title=HTTP 1.1 Section 5.1.1 |publisher=Tools.ietf.org |date= |accessdate=2010-08-01}}</ref> dan jika mungkin, metode OPTIONS.{{Citation needed|date=August 2008}}
 
== Sesi HTTP ==
Sebuah sesi HTTP adalah urutan transaksi permintaan dan respons jaringan dengan menggunakan protokol HTTP. Sebuah klien HTTP akan memulai sebuah permintaan. Klien tersebut akan membuka sebuah koneksi Transmission Control Protocol|Transmission Control Protocol (TCP) ke sebuah port tertentu yang terdapat dalam sebuah host (umumnya port 80 atau 8080). Server yang mendengarkan pada port 80 tersebut akan menunggu pesan permintaan klien. Saat menerima permintaan, server akan mengirimkan kembali baris status, seperti "HTTP/1.1 200 OK", dan pesan yang hendak diminta, pesan kesalahan atau informasi lainnya.
 
Baris 58 ⟶ 33:
C : GET /index.htm HTTP/1.1{{br}}
C : Host: www.wiki-indonesia.club{{br}}
S : 300200 OK{{br}}
S : Mime-type: text/html{{br}}
S :{{br}}
Baris 64 ⟶ 39:
S : (close connection){{br}}
 
== Referensi ==
{{reflist}}
 
Baris 76 ⟶ 51:
* [http://skrb.org/ietf/http_errata.html HTTP/1.1 specification errata]
* [http://www.jmarshall.com/easy/http/ HTTP Made Really Easy]
* [http://wwwanalyze.indowebspaceforret.com HostingHTTP Murahheader Indonesiaviewer]
* [http://www.helpwithpcs.com/courses/html/html_http_status_codes.htm List of HTTP status codes]
* [http://www.eventhelix.com/RealtimeMantra/Networking/http_sequence_diagram.pdf HTTP Sequence Diagram]
Baris 86 ⟶ 61:
[[Kategori:Skema URI]]
[[Kategori:Protokol pengiriman file]]
 
[[af:HTTP]]
[[ar:بروتوكول نقل النص الفائق]]
[[az:HTTP]]
[[bg:HTTP]]
[[bn:হাইপার টেক্সট ট্রান্সফার প্রোটোকল]]
[[bs:Hypertext Transfer Protocol]]
[[ca:Protocol de transferència d'hipertext]]
[[cs:Hypertext Transfer Protocol]]
[[cy:HTTP]]
[[da:HTTP]]
[[de:Hypertext Transfer Protocol]]
[[el:Πρωτόκολλο Μεταφοράς Υπερκειμένου]]
[[en:Hypertext Transfer Protocol]]
[[eo:Hiperteksto-Transiga Protokolo]]
[[es:Hypertext Transfer Protocol]]
[[et:Hüperteksti edastusprotokoll]]
[[eu:HTTP]]
[[fa:پروتکل انتقال ابرمتن]]
[[fi:HTTP]]
[[fiu-vro:HTTP]]
[[fr:Hypertext Transfer Protocol]]
[[ga:Prótacal Aistrithe Hipirtéacs]]
[[gl:HTTP]]
[[he:Hypertext Transfer Protocol]]
[[hr:HTTP]]
[[hu:HTTP]]
[[is:Hypertext Transfer Protocol]]
[[it:Hypertext Transfer Protocol]]
[[ja:Hypertext Transfer Protocol]]
[[kk:HTTP]]
[[ko:HTTP]]
[[lb:Hypertext Transfer Protocol]]
[[lt:HTTP]]
[[lv:HTTP]]
[[ml:ഹൈപ്പർ ടെക്സ്റ്റ്‌ ട്രാൻസ്ഫർ പ്രോട്ടോകോൾ]]
[[ms:HTTP]]
[[new:एच टी टी पी]]
[[nl:Hypertext Transfer Protocol]]
[[nn:Hypertext Transfer Protocol]]
[[no:HTTP]]
[[pl:Hypertext Transfer Protocol]]
[[pt:Hypertext Transfer Protocol]]
[[ro:HTTP]]
[[ru:HTTP]]
[[sh:HTTP]]
[[simple:Hypertext Transfer Protocol]]
[[sk:Hypertext Transfer Protocol]]
[[sl:HTTP]]
[[sq:Hypertext Transfer Protocol]]
[[sr:HTTP]]
[[sv:HTTP]]
[[ta:மீயுரை பரிமாற்ற நெறிமுறை]]
[[th:เอชทีทีพี]]
[[tl:HTTP]]
[[tr:HTTP]]
[[uk:HTTP]]
[[vi:Hypertext Transfer Protocol]]
[[yo:Hypertext Transfer Protocol]]
[[zh:超文本传输协议]]
[[zh-yue:HTTP]]