Manuel PHP
Précédent | Annexe J. Liste des protocoles supportés | Suivant

# HTTP et HTTPS

`PHP` 3, `PHP` 4. `https://` depuis `PHP` 4.3

- `http://exemple.com`

- `http://utilisateur:motdepasse@exemple.com`

- `https://exemple.com`

- `https://utilisateur:motdepasse@exemple.com`

Permet des accès en lecture uniquement, pour des fichiers accessibles sur le réseau avec la méthode GET de HTTP 1.0. Un en-tête `Host:` est envoyé avec la requête, pour gérer les hôtes virtuels, basés sur des noms. Si vous avez configuré une version de navigateur avec l'option user_agent dans votre fichier `php.ini`, ou via le contexte de flux, il sera aussi utilisé dans votre requête.

Avertissement
Certains serveurs web non compatibles avec les standards, comme IIS, envoient les données d'une manière qui fiat que `PHP` émet des alertes. Lorsque vous travaillez avec ces serveurs web, il est recommandé de réduire le niveau de rapport d'erreur afin d'éviter ces alertes.

Les redirections sont supportées depuis `PHP` 4.0.5; si vous utilisez une version plus ancienne, vous devrez ajouter vous-même les slash finaux dans vos URL. S'il est important de connaître l'URL de la ressource qui vous a fourni le document, une fois que toutes les redirections ont été suivies, vous devez analyser les entêtes de réponses retournés par le flux.

Exemple J-1. http:// et redirections

`<?php $url = 'http://www.exemple.com/redirecting_page.php'; $fp = fopen($url, 'r'); /* Avant PHP 4.3.0 utilisez $http_response_header au lieu de stream_get_meta_data() */ foreach(stream_get_meta_data($fp) as $response) { /* Redirections? */ if (substr(strtolower($response), 0, 10) == 'location: ') { /* modification de $url avec la nouvelle URL */ $url = substr($response, 10); } } ?>`

Le flux donne l'accès au corps (body) de la ressource. Les en-têtes sont stockés dans la variable `$http_response_header`. Depuis `PHP` 4.3.0, les en-têtes sont aussi accessibles avec la fonction stream_get_meta_data().

Les connexions HTTP sont en lecture seule. Vous ne pouvez pas écrire dans des fichiers ouverts via le protocole HTTP.

> Note : HTTPS est supporté depuis `PHP` 4.3, si vous avez compilé le support d'OpenSSL.

Précédent | Sommaire | Suivant
Liste des protocoles supportés | Niveau supérieur | FTP and FTPS