'text/css; charset=utf-8', 'js' => 'application/javascript; charset=utf-8', 'json' => 'application/json; charset=utf-8', 'svg' => 'image/svg+xml', 'png' => 'image/png', 'jpg', 'jpeg' => 'image/jpeg', 'gif' => 'image/gif', 'webp' => 'image/webp', default => 'application/octet-stream', }; $mtime = filemtime($assetPath); if ($mtime !== false) { header('Last-Modified: ' . gmdate('D, d M Y H:i:s', $mtime) . ' GMT'); } header('Content-Type: ' . $contentType); header('Cache-Control: public, max-age=300'); readfile($assetPath);