| Précédent | Suivant |
Lors de chaque échange par le protocole HTTP entre votre navigateur et le serveur, des données dîtes d'en-têtes contenant des informations sur les données à envoyer (dans le cas d'une requête) ou envoyées (dans le cas d'une réponse). Les informations en question, généralement sur une page web ou une image, suivent ces en-têtes. Les en-têtes HTTP permettent aussi d'effectuer des actions sur le navigateur comme le transfert de cookies ou bien une redirection vers une autre page.
Ces en-têtes sont les premières informations envoyées au navigateur (pour une réponse) ou au serveur (dans le cas d'une requête), elles se présentent sous la forme:
en-tête: valeur
La syntaxe doit être rigoureusement respectée, c'est-à-dire qu'aucun espace ne doit figurer entre le nom de l'en-tête et les deux points (:). Un espace doit par contre figurer après celui-ci !
PHP fournit une fonction permettant d'envoyer très simplement des en-têtes HTTP manuellement du serveur au navigateur (il s'agit alors d'une réponse HTTP. La syntaxe de cette fonction est la suivante:
booléen header(chaîne en-tête HTTP)
Etant donnée que les en-têtes HTTP sont les premières informations envoyées, la fonction header() doit être utilisée avant tout envoi de données HTML au navigateur (le script qui la contient doit donc être placé avant la balise <HTML> et avant toute fonction echo(),print ou printf())
Voici quelques utilisations possibles de la fonction header():
Exemple :
Pour rediriger le navigateur vers une nouvelle page:
<?PHP
header("location: http://www.commentcamarche.net/");
?>
Exemple :
Pour envoyer au navigateur une image créé à la volée (pour faire un compteur de statistiques ou bien un histogramme dynamique par exemple) :
<?php
header("Content-Type:
image/gif");
// code générant l'image
imagegif($image); // envoi de
l'image au navigateur
?>
Alors que la fonction header() permet d'envoyer des en-têtes HTTP au navigateur, PHP fournit une seconde fonction permettant de récupérer dans un tableau l'ensemble des en-têtes HTTP envoyées par le navigateur. Voici la syntaxe de cette fonction:
Tableau getallheaders();
Le tableau retourné par la fonction contient les en-têtes indexés par leur nom. Voici un script permettant par exemple de récupérer des en-têtes particuliers.
Exemple :
<?php
$entetes = getallheaders;
echo $entetes["location"];
?>
| Précédent | Suivant |