Protokol Transfer Hiperteks: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k ←Suntingan 112.215.174.206 (bicara) dibatalkan ke versi terakhir oleh LouGrare
Tag: Pengembalian Suntingan perangkat seluler Suntingan peramban seluler Suntingan seluler lanjutan
k Membatalkan 1 suntingan oleh 180.249.80.240 (bicara) ke revisi terakhir oleh CommonsDelinker
Tag: Pembatalan
 
(46 revisi perantara oleh 26 pengguna tidak ditampilkan)
Baris 1:
{{Dalam perbaikan|}}{{Infobox protocol|image=HTTP logo.svg|standard=RFC 1945 HTTP/1.0 <small>(1996)</small><br />
RFC 2616 HTTP/1.1 <small>(1999)</small><br />
RFC 7540 HTTP/2 <small>(2015)</small><br />
Baris 8:
RFC 7233 Rentang Permintaan <small>(1.1, 2014)</small><br />
RFC 7234 Caching <small>(1.1, 2014)</small><br />
RFC 7235 Autentikasi <small>(1.1, 2014)</small>|developer=Mulanya [[CERN]]; [[IETF]], [[W3C]]|introdate={{Start date and age|1991|df=yes}}|newer=}}
'''HypertextProtokol Transfer ProtocolHiperteks''' (''Hypertext Transfer Protocol'', disingkat '''HTTP''') adalah [[protokol aplikasi|protokol pada lapisan aplikasi]] untuk sistem informasi hypermedia yang didistribusikan, kolaboratif,terdistribusi dan kolaboratif.<ref name=":1">{{Cite web|url=https://tools.ietf.org/html/rfc2616.html|title=Hypertext Transfer Protocol -- HTTP/1.1|last=Leach|first=Paul J.|last2=Berners-Lee|first2=Tim|website=tools.ietf.org|language=en|access-date=2020-06-23|last3=Mogul|first3=Jeffrey C.|last4=Masinter|first4=Larry|last5=Fielding|first5=Roy T.|last6=Gettys|first6=James}}</ref> HTTP adalah dasar komunikasi data untuk [[World Wide Web]], di mana dokumen [[hiperteks]] menyertakan hyperlink ke sumber daya lain yang dapat dengan mudah diakses pengguna, misalnya dengan mengklik [[mouse]] atau dengan mengetuk layar di browserperamban web.
 
Pengembangan HTTP diprakarsai oleh [[Tim Berners-Lee]] di [[CERN]] pada tahun 1989. Pengembangan Permintaan HTTP awal untuk Komentar (RFC) adalah upaya terkoordinasi oleh [[Internet Engineering Task Force]] (IETF) dan [[World Wide Web Consortium]] (W3C), dengan pekerjaan kemudian pindah ke IETF.
 
HTTP/1.1 pertama kali didokumentasikan dalam RFC 20682030 pada tahun 1997. Spesifikasi itu sudah usang oleh RFC 2616 pada tahun 1999, yang juga digantikan oleh keluarga RFC 7230 RFC pada tahun 2014.
 
[[HTTP / 2]] adalah ekspresi semantik HTTP yang lebih efisien "on the wire", dan diterbitkan pada 2015; sekarang didukung oleh hampir semua browserperamban web<ref>{{Cite web|url=https://caniuse.com/#search=http2|title=Can I use... Support tables for HTML5, CSS3, etc|website=caniuse.com|access-date=2020-06-23}}</ref> dan server web utama melalui [[Transport Layer Security]] (TLS) menggunakan ekstensi [[Application-Layer Protocol Negotiation]] (ALPN)<ref>{{Cite web|url=https://tools.ietf.org/html/rfc7301.html|title=Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension|last=Friedl|first=Stephan|last2=Langley|first2=Adam|website=tools.ietf.org|language=en|access-date=2020-06-23|last3=Popov|first3=Andrey}}</ref> di mana diperlukan [[Transport Layer Security|TLS 1.2]] atau yang lebih baru.<ref>{{Cite web|url=https://http2.github.io/http2-spec/#TLSUsage|title=Hypertext Transfer Protocol Version 2 (HTTP/2)|last=Belshe|first=M.|last2=Peon|first2=R.|date=2015-05-30|website=http2.github.io|language=en|access-date=2020-06-23|last3=Thomson|first3=M.|archive-date=2013-07-15|archive-url=https://web.archive.org/web/20130715004452/https://http2.github.io/http2-spec/#TLSUsage|dead-url=yes}}</ref>
 
[[HTTP / 3]] adalah penerus yang diusulkan untuk HTTP/2,<ref>{{Cite web|url=https://tools.ietf.org/html/draft-ietf-quic-http-22.html|title=Hypertext Transfer Protocol Version 3 (HTTP/3)|last=Bishop <[email protected]>|first=Mike|website=tools.ietf.org|language=en|access-date=2020-06-23}}</ref> yang sudah digunakan di web, menggunakan [[Udp|UDP]] bukan [[TCP]] untuk protokol transportasi yang mendasarinya. Seperti HTTP/2, protokol ini tidak ketinggalan versi utama sebelumnya. Dukungan untuk HTTP/ 3 ditambahkan ke [[Cloudflare]] dan [[Google Chrome]] pada September 2019,<ref>{{Cite web|url=https://www.zdnet.com/article/cloudflare-google-chrome-and-firefox-add-http3-support/|title=Cloudflare, Google Chrome, and Firefox add HTTP/3 support|last=Cimpanu|first=Catalin|website=ZDNet|language=en|access-date=2020-06-23}}</ref> dan dapat diaktifkan di versi stabil Chrome dan Firefox.<ref>{{Cite web|url=https://community.cloudflare.com/t/firefox-nightly-supports-http-3/127778|title=Firefox Nightly supports HTTP 3|date=2019-11-06|website=Cloudflare Community|language=en-US|access-date=2020-06-23|archive-date=2020-06-06|archive-url=https://web.archive.org/web/20200606233655/https://community.cloudflare.com/t/firefox-nightly-supports-http-3/127778|dead-url=yes}}</ref>
 
== Gambaran teknikal ==
HTTP berfungsi sebagai protokol [[Permintaanpermintaan-respon|permintaan-respons]]s dalam model komputasi klien-server. [[Peramban web]], misalnya, mungkin ''klien'' dan aplikasi yang berjalan di komputer yang meng-[[Host (jaringan)|hosting]] [[situs web]] mungkin adalah ''server''. Klien mengirimkan pesan permintaan HTTP ke server. Server, yang menyediakan ''sumber daya'' seperti file [[HTML]] dan konten lainnya, atau melakukan fungsi lain atas nama klien, mengembalikan pesan ''respons'' ke klien. Respons tersebut berisi informasi status penyelesaian tentang permintaan dan mungkin juga berisi konten yang diminta di badan pesannya.
[[Berkas:Internet1.svg|ka|jmpl|[[URL]] dimulai dengan skema HTTP dan label nama domain [[WWW]]]]
HTTP berfungsi sebagai protokol [[Permintaan-respon|permintaan-respons]] dalam model komputasi klien-server. [[Peramban web]], misalnya, mungkin ''klien'' dan aplikasi yang berjalan di komputer yang meng-[[Host (jaringan)|hosting]] [[situs web]] mungkin adalah ''server''. Klien mengirimkan pesan permintaan HTTP ke server. Server, yang menyediakan ''sumber daya'' seperti file [[HTML]] dan konten lainnya, atau melakukan fungsi lain atas nama klien, mengembalikan pesan ''respons'' ke klien. Respons tersebut berisi informasi status penyelesaian tentang permintaan dan mungkin juga berisi konten yang diminta di badan pesannya.
 
Peramban web adalah contoh ''[[user agent]]'' (UA). Jenis lain dari agen pengguna termasuk perangkat lunak pengindeksan yang digunakan oleh penyedia pencarian ([[perayap web]]), [[peramban suara]], [[aplikasi seluler]], dan [[perangkat lunak]] lain yang mengakses, menggunakan, atau menampilkan konten web.
 
HTTP dirancang untuk mengizinkan elemen jaringan perantara untuk meningkatkan atau mengaktifkan komunikasi antara klien dan server. Situs web dengan lalu lintas tinggi sering kali mendapatkan keuntungan dari server [[Tembolok web|cache web]] yang mengirimkan konten atas nama [[Server upstream|server hulu]] untuk meningkatkan waktu respon. Tembolok peramban web sebelumnya mengakses sumber daya web dan menggunakannya kembali, jika memungkinkan, untuk mengurangi lalu lintas jaringan. [[Server proxy]] HTTP pada batas [[jaringan pribadi]] dapat memfasilitasi komunikasi untuk klien tanpa alamat yang dapat dirutekan secara global, dengan menyampaikan pesan dengan server eksternal.
[[Sumber daya web|Sumber daya HTTP]] diidentifikasi dan terletak di jaringan oleh [[Url|Uniform Resource Locators]] (URLs), menggunakan skema [[Uniform Resource Identifiers]] (URI) http dan https. Misalnya, termasuk semua komponen opsional:
Info Pengguna [[Nama hos|hos]] [[Port (jaringan komputer) | port]]
┌───────┴───────┐ ┌────┴────────┐ ┌┴┐
<nowiki>http://john.doe:[email protected]:123/forum/questions/?tag=networking&order=newest#top</nowiki>
└─┬─┘ └───────────┬────────────────────────┘└─┬─────────────┘└────────┬──────────────────┘└┬─┘
[[Uniform Resource Identifier#Definisi | skema]] otoritas path [[String kueri | kueri]] [[Identifikasi fragmen | fragmen]]
</code>
Sebagaimana didefinisikan dalam RFC 3986, URI dikodekan sebagai [[hyperlink]] dalam dokumen [[HTML]], sehingga membentuk dokumen [[hiperteks]] yang saling terkait.
 
[[Sumber daya web|Sumber daya HTTP]] diidentifikasi dan terletakditempatkan di jaringan oleh [[Url|Uniform Resource Locators]] (URLsURL), menggunakan skema ''http'' dan ''[[https]]'' [[Pengidentifikasi sumber seragam|Uniform Resource Identifiers]] (URI). httpSeperti danyang https.didefinisikan Misalnyadalam RFC 3986, termasukURI semuadikodekan komponensebagai opsional:[[hyperlink]] dalam dokumen [[HTML]], sehingga dapat membentuk dokumen hypertext yang saling terkait.
HTTP/1.1 adalah revisi dari HTTP asli (HTTP/1.0). Dalam HTTP/1.0 [[Komunikasi berorientasi koneksi|koneksi]] terpisah ke server yang sama dibuat untuk setiap permintaan sumber daya. HTTP/1.1 dapat menggunakan kembali koneksi beberapa kali untuk mengunduh gambar, [[Dynamic web page#Skrip sisi klien|skrip]], [[Lembar Gaya Cascading|stylesheet]], dll setelah halaman dikirim. Oleh karena itu komunikasi HTTP/1.1 mengalami [[latensi]] lebih rendah karena koneksi TCP menghasilkan biaya overhead yang cukup besar.
 
== Sejarah ==
Baris 88 ⟶ 81:
 
=== Alam autentikasi ===
Spesifikasi Otentikasi HTTP juga menyediakan konstruksi sewenang-wenang, spesifik implementasi untuk membagi lebih lanjut sumber daya yang umum untuk [[Uniform Resource Identifier|URI]] root yang diberikan. String nilai ranah, jika ada, dikombinasikan dengan URI akar kanonik untuk membentuk komponen ruang perlindungan dari tantangan. Ini berlaku memungkinkan server untuk menentukan cakupan otentikasi terpisah di bawah satu URI root.<ref name=":0" /> bocor
 
== Format pesan ==
Baris 218 ⟶ 211:
* Sebuah [[HTTP message body|message body]] opsional
 
Baris status dan bidang header lainnya harus diakhiri dengan <CR><LF>. Baris kosong harus terdiri dari hanya <CR><LF> dan tidak ada [[Karakter spasi|spasi putih]] lainnya.<ref name="ietf2616sec4" /> Persyaratan ketat ini untuk <CR><LF> adalah berelaksi dalam badan pesan untuk penggunaan konsisten dari linebreak sistem lain seperti <CR> atau <LF> saja.<ref>{{cite IETF|rfc=2616|sectionname=Canonicalization and Text Defaults|title=RFC 2616|section=3.7.1|idanchor=ietf}}</ref>
 
==== Kode status ====
Baris 230 ⟶ 223:
* Klien Error <code>4XX</code>
* Server Error <code>5XX</code>
 
== Koneksi terenkripsi ==
Cara paling populer untuk membangun koneksi HTTP terenkripsi adalah HTTPS.<ref>{{Cite journal|last=|first=|date=|title=Canavan, John (2001). Fundamentals of Networking Security. Norwood, MA: Artech House. pp. 82–83.|url=https://en.wiki-indonesia.club/wiki/Special:BookSources/9781580531764|journal=Wikipedia|language=en|volume=|issue=|pages=|doi=}}</ref> Dua metode lain untuk membuat koneksi HTTP terenkripsi juga ada: [[Secure Hypertext Transfer Protocol]], dan menggunakan [[header Upgrade HTTP/1.1]] untuk menentukan peningkatan ke TLS. Dukungan browser untuk keduanya, bagaimanapun, hampir tidak ada.<ref>{{Cite web|last=|first=|date=|title="Browser Security Handbook".|url=https://code.google.com/archive/p/browsersec/wikis/Part1.wiki|website=code.google.com|access-date=2020-09-05}}</ref><ref>{{Cite web|title=276813 - [RFE] Support RFC 2817 / TLS Upgrade for HTTP 1.1|url=https://bugzilla.mozilla.org/show_bug.cgi?id=276813|website=bugzilla.mozilla.org|language=en|access-date=2020-09-05}}</ref>
 
== Contoh sesi ==
Baris 267 ⟶ 263:
''Content-Encoding'' seperti ''[[gzip]]'' dapat digunakan untuk mengompresi data yang dikirimkan.
 
== Protokol serupa ==
= Referensi =
 
* [[Gopher (protokol)|Protokol Gopher]] adalah protokol pengiriman konten yang digantikan oleh HTTP pada awal 1990-an.
* Protokol [[SPDY]] adalah alternatif untuk HTTP yang dikembangkan di [[Google]], digantikan oleh [[HTTP/2]].
 
== Lihat pula ==
 
* [[Fiddler (perangkat lunak)]]
* [[Kompresi HTTP]]
* [[Daftar kode status HTTP]]
* [[Objek varian]]
* [[Temblok web]]
* [[WebSocket]]
* [[Wireshark]]
 
== Referensi ==
{{reflist}}
 
Baris 274 ⟶ 285:
*"[https://www.w3.org/Protocols/History.html Change History for HTTP]". Sejarah teknis rinci HTTP.
*"[https://www.w3.org/Protocols/DesignIssues.html Design Issues for HTTP]". Masalah Desain oleh Berners-Lee ketika dia merancang protokol.
*[http://www.indowebspace.com Pembelian domain]
*"[https://www.w3.org/Protocols/Classic.html Classic HTTP Documents]".daftar dokumen klasik lainnya yang menceritakan sejarah protokol awal
*[https://www.w3.org/Protocols/HTTP/AsImplemented.html HTTP 0.9 – Sebagaimana Diterapkan pada 1991]

{{Authority control}}
 
[[Kategori:Protokol Internet]]