HTTPQUERY
Bahasa Indonesia

410 Gone

Penggunaan

Ketika pesan error 410 Gone diterima, klien mengetahui bahwa alamat tersebut pernah valid, tetapi sumber dayanya sudah tidak ada lagi. Inilah respons yang dikembalikan setelah sebuah sumber daya kedaluwarsa, misalnya dokumen yang tersedia sebagai bagian dari penawaran berbatas waktu. Jika server tidak memperkirakan penghapusan tersebut bersifat permanen, 404 digunakan sebagai gantinya.

Kode status ini berguna untuk pemeliharaan situs web dan memberi sinyal kepada klien untuk menghapus tautan ke sumber daya tersebut. Respons ini dapat di-cache secara default. Klien dan perantara menyimpan 410 tanpa perlu direktif Cache-Control yang eksplisit. Klien yang berperilaku baik tidak mengulang permintaan tersebut, berbeda dengan 404 yang percobaan ulangnya bisa berhasil di kemudian hari.

Kasus penggunaan yang umum mencakup promosi yang telah berakhir, endpoint API yang usang, dan konten arsip yang dihapus secara permanen.

Dampak SEO

Mesin pencari seperti Google tidak akan mengindeks URL dengan status respons 410. URL yang sebelumnya terindeks akan dihapus dari hasil pencarian. Halaman yang mengembalikan kode ini tidak memboroskan anggaran perayapan. Google memperlakukan 404 dan 410 secara identik. Keduanya menghapus konten dari indeks dengan laju yang sama. Mengembalikan 200 dengan konten error atau mengalihkan URL yang telah dihapus ke beranda alih-alih merespons dengan 410 akan menciptakan soft 404, yang memboroskan anggaran perayapan dan mengikis kepercayaan terhadap sinyal server situs.

Contoh

Klien meminta sebuah sumber daya dan server merespons dengan 410 Gone karena promosi telah berakhir dan kontennya tidak lagi tersedia.

Permintaan

GET /holiday-promotion-Jan-2021.pdf HTTP/1.1
Host: example.com

Respons

HTTP/1.1 410 Gone
Content-Type: text/html
Content-Length: 133

<html>
  <head>
    <title>Promotion Expired</title>
  </head>
  <body>
   <p>The promotional period has ended.</p>
  </body>
</html>

Cara memperbaiki

Ketika 410 muncul secara tak terduga, periksa berkas konfigurasi server untuk mencari aturan yang tidak disengaja. Di Apache, telusuri httpd.conf dan .htaccess untuk entri RewriteRule dengan flag [G] (Gone) atau direktif Redirect gone. Di nginx, cari return 410 di dalam blok location pada konfigurasi server. Plugin CMS dan pembaruan terbaru kadang menambahkan aturan 410 tanpa peringatan. Nonaktifkan plugin yang baru dipasang untuk mengisolasi sumbernya.

Jika penghapusan memang disengaja, perbarui sitemap agar URL tersebut dikecualikan dan hapus tautan internal yang mengarah ke sumber daya itu.

Di WordPress, plugin seperti Redirection atau Yoast SEO mengelola respons 410 melalui antarmuka admin tanpa perlu menyunting berkas server secara langsung.

Jika penghapusan tidak disengaja, pulihkan sumber daya tersebut atau penggantinya dan kembalikan 200. Ketika halaman pengganti tersedia di URL yang berbeda, pengalihan 301 lebih tepat daripada 410.

Referensi kode

.NET

HttpStatusCode.Gone

Rust

http::StatusCode::GONE

Rails

:gone

Go

http.StatusGone

Symfony

Response::HTTP_GONE

Python3.5+

http.HTTPStatus.GONE

Java

java.net.HttpURLConnection.HTTP_GONE

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus.SC_GONE

Angular

@angular/common/http/HttpStatusCode.Gone