Cara Menonaktifkan Caching pada Web dengan Mudah Menggunakan Middleware di Laravel

Laravel adalah salah satu framework PHP yang paling populer dan digunakan oleh banyak pengembang web di seluruh dunia. Salah satu fitur penting yang disediakan oleh Laravel adalah sistem caching, yang memungkinkan pengguna untuk mempercepat akses ke halaman web dengan menyimpan data yang sering diakses dalam cache.

Namun, ada kalanya ketika kita ingin menonaktifkan caching untuk beberapa alasan, seperti ketika kita sudah login, kemudian klik tombol back pada browser, maka halaman yang seharusnya tidak tampil, malah tampil.

Untuk menonaktifkan caching pada web dengan mudah menggunakan middleware di Laravel, langkah-langkah berikut dapat diikuti:

  1. Pertama, buat sebuah middleware baru dengan menggunakan perintah artisan berikut di terminal :
    php artisan make:middleware DisableCaching
  1. Setelah middleware berhasil dibuat, buka file DisableCache.php yang terletak di direktori app/Http/Middleware dan tambahkan kode berikut :
    <?php
    
    namespace App\Http\Middleware;
    
    use Closure;
    use Illuminate\Http\Request;
    
    class DisableCaching
    {
        public function handle(Request $request, Closure $next)
        {
            $response = $next($request);
            
            $response->headers->set('Cache-Control','nocache, no-store, max-age=0, must-revalidate');
            $response->headers->set('Pragma','no-cache');
            $response->headers->set('Expires','Sat, 01 Jan 1970 00:00:00 GMT');
            
            return $response;
        }
    }
  1. Kemudian, daftarkan middleware tersebut pada file app/Http/Kernel.php dengan menambahkan kode berikut pada bagian $middlewareGroups :
    protected $middlewareGroups = [
            'web' => [
                //...
                \App\Http\Middleware\DisableCaching::class,
            ],
            //...
        ];
  2. Terakhir, pastikan untuk menghapus cache di browser kita sebelum mencoba akses halaman web yang ingin kita nonaktifkan caching-nya.

Dengan mengikuti langkah-langkah di atas, kita dapat dengan mudah menonaktifkan caching pada web menggunakan middleware di Laravel. Sekarang, ketika kita ingin memperbarui halaman web atau menemukan masalah dengan cache, cukup tambahkan middleware DisableCache ke grup middleware web dan kita siap untuk melihat perubahan terbaru pada halaman web kita.

Dengan menambahkan middleware tersebut, setiap respons HTTP yang dikirimkan oleh aplikasi kita akan menyertakan header khusus yang memberi tahu browser untuk tidak menyimpan salinan halaman dalam cache. Dengan demikian, pengguna tidak akan dapat melihat halaman setelah logout saat mereka menekan tombol “back” pada browsernya.

Baca Juga  Tutorial Laravel #13 : CRUD Laravel Menggunakan Eloquent

Namun, perlu diingat bahwa menonaktifkan caching pada web dapat mempengaruhi kinerja situs web dan meningkatkan waktu respon. Oleh karena itu, disarankan untuk hanya menonaktifkan caching pada halaman yang benar-benar memerlukan akses real-time ke data, dan mempertimbangkan untuk mengaktifkan caching kembali setelah selesai melakukan perubahan atau menyelesaikan masalah cache.

Selain itu, kita juga dapat mempertimbangkan penggunaan fitur cache Laravel yang lebih fleksibel dan efisien, seperti caching selective atau partial caching, yang memungkinkan kita untuk menyimpan hanya sebagian kecil dari halaman web yang berubah dengan cepat dan meningkatkan waktu respon.

Related Post

Be the first to comment

Leave a Reply

Your email address will not be published.


*


error: Ga bisa dicopy