Dans PHP, la fonction en-tête () est un outil très important pour envoyer des en-têtes de message HTTP bruts. Il nous permet de contrôler finement les informations renvoyées par le navigateur dans le programme, y compris la définition des codes d'état, la redirection, la spécification des types de contenu, etc. Aujourd'hui, nous nous concentrerons sur la façon d'utiliser correctement la fonction d'en-tête () pour définir certains codes d'état HTTP communs: 404 (non trouvé), 403 (interdit) et 500 (erreur de serveur interne). Ces trois codes d'état représentent différents statuts d'erreur. Pour les développeurs de sites Web, il est très important de comprendre et d'utiliser raisonnablement ces codes d'état.
Le code d'état HTTP est un code à trois chiffres renvoyé par le serveur lors de la réponse au navigateur, représentant l'état de la réponse. Chaque code d'état a une signification différente, et ils sont divisés en catégories suivantes:
1xx (informatif): signifie que la demande a été acceptée et doit être traitée.
2xx (succès): signifie que la demande a été traitée avec succès.
3XX (Redirection): signifie que d'autres opérations sont nécessaires pour terminer la demande.
4xx (erreur du client): indique qu'il y a un problème avec la demande et est causé par le client.
5xx (erreur du serveur): indique qu'une erreur s'est produite à l'intérieur du serveur.
Aujourd'hui, nous nous concentrerons sur les erreurs 4xx et 5xx courantes.
404 Une erreur indique que la ressource demandée n'existe pas sur le serveur, généralement en raison d'une erreur d'URL ou que la page a été supprimée. Nous pouvons définir le code d'état 404 en utilisant le code suivant:
<?php
// installation 404 Code d'état
header("HTTP/1.1 404 Not Found");
// Vous pouvez ajouter plus de code de gestion des erreurs ici,Par exemple, afficher une page d'erreur personnalisée
echo "Page introuvable";
?>
Ce code définit le code d'état HTTP sur 404 via la fonction en-tête () et affiche un message d'erreur simple via Echo .
403 Une erreur indique que le serveur comprend la demande, mais refuse de l'exécuter. Habituellement, cela signifie des problèmes d'autorisation, tels que l'accès aux pages restreintes. Voici le code pour définir le code d'état 403:
<?php
// installation 403 Code d'état
header("HTTP/1.1 403 Forbidden");
// Vous pouvez ajouter plus de code de gestion des erreurs ici
echo "Pas d'accès";
?>
Ce code renverra un code d'état 403, indiquant à l'utilisateur du navigateur qu'il n'y a pas d'autorisation d'accéder à la ressource actuelle.
500 Une erreur indique qu'une erreur s'est produite à l'intérieur du serveur, généralement en raison d'une exception dans le programme ou le serveur ne peut pas traiter la demande. Voici le code pour définir le code d'état 500:
<?php
// installation 500 Code d'état
header("HTTP/1.1 500 Internal Server Error");
// Vous pouvez ajouter plus de code de gestion des erreurs ici
echo "Erreur de serveur,Veuillez réessayer plus tard";
?>
Ce code renvoie un code d'erreur de 500 via la fonction d'en-tête () et informe le serveur utilisateur qu'il y a un problème.
En définissant le code d'état HTTP approprié, les utilisateurs peuvent avoir une compréhension plus claire de ce qui se passe. Par exemple, si une page n'existe pas, le retour d'un 404 permettra à l'utilisateur de savoir que sa demande ne peut pas trouver la page, plutôt que d'afficher une page d'erreur de 500 par défaut. Cette transparence permet d'améliorer l'expérience utilisateur.
Pour les moteurs de recherche, il est également très important de renvoyer le code d'état HTTP correct. Par exemple, le retour d'un code d'état 404 peut indiquer au moteur de recherche que la page n'existe plus, en évitant le moteur de recherche de continuer à indexer la page. Si 200 codes d'état sont retournés, le moteur de recherche peut continuer à ramper cette page, provoquant un gaspillage de ressources inutile.
Lorsque vous rencontrez des problèmes, le code d'état HTTP approprié peut aider les développeurs à localiser rapidement les problèmes. Par exemple, lorsqu'un serveur a 500 erreurs, les développeurs peuvent vérifier le journal du serveur pour vérifier la cause spécifique de l'erreur et la corriger dans le temps.
En plus de définir le code d'état, la fonction d'en-tête () peut également être utilisée pour rediriger ou définir le contrôle du cache. Voici quelques applications courantes:
Utilisez la fonction en-tête () pour rediriger l'utilisateur vers une autre page. Par exemple:
<?php
header("Location: https://m66.net/newpage.php");
exit();
?>
Cela redirigera l'utilisateur vers https://m66.net/newpage.php .
En définissant l'en-tête HTTP, vous pouvez contrôler la façon dont le navigateur cache la page. Par exemple:
<?php
header("Cache-Control: no-cache, no-store, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0");
?>
Cela indiquera au navigateur de ne pas mettre la page en cache et de demander le dernier contenu chaque fois que la page est chargée.
La maîtrise de la façon de définir des codes de statut tels que 404, 403, 500, etc. est une compétence importante pour développer des sites Web de haute qualité. L'utilisation correcte de ces codes de statut améliore non seulement l'expérience utilisateur, mais aide également à mieux comprendre les moteurs et les développeurs de rechercher les problèmes de site Web. J'espère que l'article d'aujourd'hui peut vous aider à mieux comprendre et utiliser la fonction d'en-tête () en PHP.