http:// -- https:// — Доступ к URL-адресам по протоколу HTTP(s)
Предоставляет доступ только для чтения файлов или ресурсов через протокол HTTP.
По умолчанию используется HTTP 1.0 GET. Для поддержки виртуальных хостов на основе имён
вместе с запросом посылается заголовок Host:
.
Если через файл php.ini или контекст потока сконфигурировали строку
user_agent, то она также включится
в запрос.
Этот поток также разрешает получить доступ к содержимому ресурса; заголовки сохраняются в переменной $http_response_header.
Если важно знать URL-адрес, с которого получили документ (после всех переадресаций, которые были выполнены), то необходимо обработать серию заголовков ответов, которые возвращает поток.
INI-директива from будет использоваться для заголовка
From:
, если установлена и не переопределена в контексте
Опции и параметры контекста.
Пример #1 Определение URL-адреса, с которого забрали документ после переадресаций
<?php
$url = 'http://www.example.com/redirecting_page.php';
$fp = fopen($url, 'r');
$meta_data = stream_get_meta_data($fp);
foreach ($meta_data['wrapper_data'] as $response) {
/* Выполнялась ли переадресация? */
if (strtolower(substr($response, 0, 10)) == 'location: ') {
/* Сохранить в переменной $url адрес переадресации */
$url = substr($response, 10);
}
}
?>
Замечание: Протокол HTTPS поддерживается, только когда включили модуль openssl.
HTTP-соединения предназначены только для чтения; запись данных или копирование файлов в HTTP-ресурс не поддерживается.
Отправку, например, POST- и PUT-запросов можно выполнить через HTTP-контекст.