HTTPQUERY
Bahasa Indonesia

303 See Other

Penggunaan

Kode status 303 See Other umumnya dikembalikan setelah permintaan POST, PUT, atau DELETE. Hasil operasi tersebut dapat dilihat pada URL yang berbeda, dan klien mengambil sumber daya baru itu dengan permintaan GET ke Location yang ditentukan.

Catatan

Secara historis banyak server mengirim 302 padahal yang dimaksud adalah 303, dan banyak klien memperlakukan 302 sebagai 303 dengan mengubah metode permintaan menjadi GET.

Dampak SEO

Google mengklasifikasikan 303 sebagai redirect sementara, bersama 302 dan 307. Googlebot mengikuti redirect tersebut tetapi memperlakukan 303 sebagai sinyal lemah bahwa target itu adalah URL yang dipilih.

Contoh

Klien meminta penghapusan sebuah sumber daya tertentu. Server mengirim 303 See Other karena lokasi aslinya tidak lagi memuat sumber daya yang dapat dilihat, dan menunjuk ke halaman konfirmasi pada Location yang baru.

Permintaan

DELETE /tasks/314 HTTP/1.1
Host: example.com

Respons

HTTP/1.1 303 See Other
Location: http://example.com/confirmation/delete.html

303 vs 307

Baik 303 maupun 307 merupakan redirect sementara, tetapi penanganan metodenya berbeda. Respons 303 mengubah metode permintaan menjadi GET (atau HEAD), terlepas dari metode aslinya. Respons 307 mempertahankan metode dan body yang asli. Gunakan 303 setelah POST ketika klien perlu mengambil halaman hasil. Gunakan 307 ketika permintaan yang persis sama harus diulang di lokasi yang baru.

Referensi kode

.NET

HttpStatusCode.SeeOther

Rust

http::StatusCode::SEE_OTHER

Rails

:see_other

Go

http.StatusSeeOther

Symfony

Response::HTTP_SEE_OTHER

Python3.5+

http.HTTPStatus.SEE_OTHER

Java

java.net.HttpURLConnection.HTTP_SEE_OTHER

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_SEE_OTHER

Angular

@angular/common/http/HttpStatusCode.SeeOther