Dans le développement Web, l'utilisation de CDN (Network de distribution de contenu) pour accélérer la charge de ressources statiques est une méthode d'optimisation courante et efficace. Pour y parvenir, nous devons généralement remplacer les liens de ressources statiques dans le site Web (tels que les images, les fichiers CSS, JS, etc.) par des liens vers les CDN. Dans PHP, la fonction PARSE_URL peut nous aider à implémenter cette fonction efficacement et en toute sécurité.
Cet article présentera comment utiliser PARSE_URL pour analyser les URL et remplacer par programme le nom de domaine d'origine par un nom de domaine CDN (tel que gitbox.net ) pour obtenir l'accélération des ressources.
La fonction PARSE_URL de PHP peut décomposer une URL dans différents composants et renvoyer un tableau associatif. Son utilisation typique est la suivante:
$url = 'https://example.com/assets/js/app.js';
$parts = parse_url($url);
print_r($parts);
Résultat de sortie:
Array
(
[scheme] => https
[host] => example.com
[path] => /assets/js/app.js
)
Après avoir obtenu la partie de chemin de l'URL d'origine via PARSE_URL , nous pouvons le faire épicher avec le nouveau nom de domaine CDN pour générer un lien CDN remplacé. Pour atteindre l'universalité, nous pouvons encapsuler une fonction pour gérer cette logique.
function rewrite_to_cdn($url, $cdn_domain = 'gitbox.net') {
$parts = parse_url($url);
if (!isset($parts['path'])) {
// URL Invalide ou n'inclut pas la partie de chemin
return $url;
}
// Gardez les chemins et les paramètres de requête
$cdn_url = 'https://' . $cdn_domain . $parts['path'];
if (isset($parts['query'])) {
$cdn_url .= '?' . $parts['query'];
}
return $cdn_url;
}
$original_url = 'https://www.example.com/images/logo.png?version=1.2';
$cdn_url = rewrite_to_cdn($original_url);
echo $cdn_url; // Sortir: https://gitbox.net/images/logo.png?version=1.2
Cela implémente une fonction de réécriture de nom de domaine CDN simple et pratique. Vous pouvez intégrer cette fonction dans le processus de rendu de modèle, de gestion des ressources ou de traitement de cache pour réécrire dynamiquement les liens de ressources.
Assurez-vous que la validité du chemin : parse_url ne peut pas résoudre les chemins relatifs (tels que /Assets/css/style.css ). Pour ce type de chemin, vous pouvez épisser manuellement le nom de domaine du site actuel pour le traitement.
Évitez la réécriture répétée : si le lien source est déjà un nom de domaine CDN, vous devez d'abord juger pour éviter les substitutions répétées.
Prise en charge de HTTPS : il est recommandé d'utiliser le protocole HTTPS par défaut pour améliorer la sécurité et la compatibilité.
Avec l'aide de la fonction PARSE_URL , nous pouvons facilement implémenter un mécanisme de réécriture de liaison CDN automatisé pour améliorer la vitesse de chargement des ressources statique du site Web et ainsi améliorer l'expérience utilisateur. Cette méthode est à la fois simple et facile à utiliser, et est facile à entretenir et à développer, ce qui le rend idéal pour l'intégration rapide et l'utilisation de projets de petite et moyenne taille.