HTTP 302: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
k Membatalkan suntingan oleh 175.223.36.154 (bicara) ke revisi terakhir oleh LaninBot: suntingan tidak membangun
Tag: Pengembalian SWViewer [1.4]
 
(8 revisi perantara oleh 2 pengguna tidak ditampilkan)
Baris 1:
{{HTTP}}
[[Daftar kode status HTTP|Kode status]] tanggaptanggapan [[HTTP]] '''302 Found''' adalah cara yang paling umum untuk melakukan [[pengalihan URL]].{{Citation needed|date=OctoberSpesifikasi 2009}}HTTP/1.0 (RFC 1945) awalnya mendefinisikan kode ini, dan memberinya frase deskripsi "Moved Temporarily" daripada "Found".
 
Respons HTTP dengan kode status ini juga akan memberikan [[URL]] di kolom header, [[Lokasi HTTP|Lokasi]]. Ini adalah undangan ke agen pengguna (mis. Peramban web) untuk membuat permintaan kedua, jika tidak identik, permintaan ke URL baru yang ditentukan di bidang lokasi. Hasil akhirnya adalah pengalihan ke URL baru.
Kode ini adalah contoh praktik industri yang berlawanan dengan spesifikasi HTTP/1.0 standar (RFC 1945) yang meminta klien melakukan pengalihan sementara (frasa aslinya adalah "Moved Temporarily"), tetapi peramban saat ini mengimplementasikannya sebagai sebuah [[HTTP 303|303 See Other]]{{Citation needed|date=October 2009}}, yaitu mengubah jenis permintaan menjadi GET tanpa memedulikan bentuk aslinya. HTTP/1.1 menambahkan kode status 303 dan 307 untuk membedakan antara kedua tindakan ini. Namun, mayoritas aplikasi dan kerangka web masih memakai kode status 302 sebagaimana 303.{{Citation needed|date=October 2009}}
 
Banyak peramban web menerapkan kode ini dengan cara yang melanggar standar ini, mengubah jenis permintaan dari permintaan baru menjadi [[HTTP GET request|GET]], terlepas dari jenis yang digunakan dalam permintaan awal (mis. [[POST (HTTP)|POST]]).<ref>{{cite web|last=Lawrence|first=Eric|title=HTTP Methods and Redirect Status Codes|url=http://blogs.msdn.com/b/ieinternals/archive/2011/08/19/understanding-the-impact-of-redirect-response-status-codes-on-http-methods-like-head-get-post-and-delete.aspx|work=EricLaw's IEInternals blog|access-date=2011-08-20|archive-date=2013-06-21|archive-url=https://web.archive.org/web/20130621142955/http://blogs.msdn.com/b/ieinternals/archive/2011/08/19/understanding-the-impact-of-redirect-response-status-codes-on-http-methods-like-head-get-post-and-delete.aspx|dead-url=no}}</ref> Untuk alasan ini, HTTP/1.1 (RFC 2616) menambahkan kode status baru [[HTTP 303|303]] dan [[HTTP 307|307]] untuk membedakan antara dua perilaku, dengan 303 mandat untuk mengubah jenis permintaan menjadi GET, dan 307 mempertahankan jenis permintaan seperti yang dikirim semula. Terlepas dari kejelasan yang lebih besar yang diberikan oleh disambiguasi ini, kode 302 masih digunakan dalam kerangka kerja web untuk menjaga kompatibilitas dengan peramban yang tidak menerapkan spesifikasi HTTP/1.1.<ref>{{cite web|title=Request and response objects &#124; Django documentation &#124; Django|url=https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponseRedirect|publisher=Docs.djangoproject.com|access-date=2014-06-23|archive-date=2014-07-10|archive-url=https://web.archive.org/web/20140710040330/https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponseRedirect|dead-url=no}}</ref>
Kode status ini harus digunakan bersama kepala [[lokasi HTTP|lokasi]].
 
Sebagai konsekuensi, RFC 7231 (pembaruan dari RFC 2616) mengubah definisi untuk memungkinkan agen pengguna menulis ulang POST menjadi GET.<ref>{{cite web|title=Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content|url=https://tools.ietf.org/html/rfc7231#section-6.4.3|publisher=Tools.ietf.org|access-date=2019-01-05|archive-date=2017-05-25|archive-url=https://web.archive.org/web/20170525004653/https://tools.ietf.org/html/rfc7231#section-6.4.3|dead-url=no}}</ref>
 
== Contoh ==
Permintaan klien:
 
<pre>
<syntaxhighlight lang="http">
GET /index.html HTTP/1.1
Host: www.example.com
</syntaxhighlight>
</pre>
TanggapanRespon peladen:
<syntaxhighlight lang="http">
<pre>
HTTP/1.1 302 Found
Location: http://www.iana.org/domains/example/
</syntaxhighlight>
</pre>
 
== Lihat pula ==
 
* [[Protokol Transfer Hiperteks]]
* [[Daftar kode status HTTP]]
 
== Referensi ==
{{Reflist}}
 
== Pranala luar ==