Laravel Packages

Laravel ETag and Conditionals Package

Published
Laravel ETag and Conditionals Package image

Laravel ETag and Conditionals is a package that provides a set of middleware for ETags and HTTP conditional requests. The goal of this package is to provide tools for better client-side caching for Laravel apps.

Using the techniques supported by this middleware, browsers can handle the caching provided automatically based on ETag headers in HTTP responses.

ETag Support

At the heart of this package, the setEtag middleware will set the ETag header on responses. The value of this header is the MD5 hash of the content. This package also supports HEAD requests (see the readme for details).

HTTP Conditional Requests

This package's middleware currently supports two HTTP Conditional requests: If-Match and If-None-Matched. To give a high-level understanding of how this can be useful to your app, when the If-None-Match header in the request matches the Etag, then a 304 response is returned, and the browser will use cached content instead. If the If-None-Match header doesn't match the newly created ETag value, then a 200 response is returned. This applies to GET and HEAD requests only.

Learn More

You can learn more about this package, get full installation instructions, and view the source code on GitHub. It's also advisable to learn more about the ETag header and HTTP conditional requests to understand how the HTTP specification works to support browser caching.

The author of the package also wrote an article that explains how to write the middleware in this package: Caching your Laravel API with ETag and Conditional Requests.


This package was submitted to our Laravel News Links section. Links is a place the community can post packages and tutorials around the Laravel ecosystem. Follow along on Twitter @LaravelLinks

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
Building EasyReply: How We Used Laravel to Unify Customer Support image

Building EasyReply: How We Used Laravel to Unify Customer Support

Read article
PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum image

PostgreSQL Monitoring and Schema Linting for Laravel with Vacuum

Read article
PayZephyr: One Payment API for Stripe, Paystack, and PayPal image

PayZephyr: One Payment API for Stripe, Paystack, and PayPal

Read article
Bifrost Turns One With AI Builds and New Workflows image

Bifrost Turns One With AI Builds and New Workflows

Read article
Preview Blade Templates in macOS Finder with Quick Blade image

Preview Blade Templates in macOS Finder with Quick Blade

Read article
Artisan Debugging Commands in Laravel Telescope 5.24.0 image

Artisan Debugging Commands in Laravel Telescope 5.24.0

Read article