Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен / web / example1 / Введение в PHP.doc
Скачиваний:
101
Добавлен:
18.05.2015
Размер:
3 Mб
Скачать

Приложение 1. Протокол передачи гипертекстов http

HyperText Transfer Protocol (HTTP) - это протокол уровня приложений, обеспечивающий передачу гипертекстовых данных от клиента к серверу и обратно. HTTP используется проектом World Wide Web начиная с 1990 года. HTTP запросы построены на использовании методов и ссылок. Для указания ресурса, к которому должен быть применен данный метод, используется Универсальный Идентификатор Ресурсов (Universal Resource Identifier - URI), в виде местонахождения (URL) или имени (URN). HTTP используется для коммуникаций между различными пользовательскими браузерами и шлюзами, дающими гипермедиа доступ к существующим Internet протоколам, таким как SMTP, POP3/IMAP, NNTP, FTP, Gopher и WAIS. В настоящее время в Веб используется версия HTTP 1.1

Когда браузер запрашивает Web-страницу с указанного адреса, он создает и отсылает серверу по указанному адресу запрос HTTP(request), заголовок которого выглядит следующим образом:

GET /my.php HTTP/1.1

Accept: image/gif, image/png, image/jpeg, */*

Accept-Language: en-us

Accept-Encoding: gzip, deflate

User-Agent: Mozilla/4.0 (compatible; MSIE 8.0;

Windows XP; .NET CLR 1.1.4322)

Host: my.com

Connection: Keep-Alive

Эти строки значат:

GET — метод HTTP который означает: "Дай информацию для обработки в му.php, и вышли ее, используя протокол HTTP 1.1".

Accept — "могу понимать графическую информацию в следующих форматах".

Accept-Language — "язык, — английский, американский ".

Accept-Encoding — "можно отправлять данные в сжатом виде, типы сжатия gzip и deflate".

User-Agent — "тип моего браузера — Microsoft Explorer 8, выполняющийся под управлением Windows XP".

Host — "доставь мне информацию /my.php с компьютера, находящегося на хосте my.com".

Connection: Keep-Alive — "держи подключение HTTP открытым, пока браузер не закроет его". Постоянное подключение повышает производительность, поскольку соединение не нужно закрывать и снова открывать для каждого подключения. Без Keep-Alive Web-страница будет иметь множество подключений

Когда Web-сервер получает подобный запрос, он должен просмотреть информацию на сервере, которая представлена /my. php. Если информация на сервере существует, сервер должен отправить клиенту (браузеру) ответ (response ) в виде:

HTTP/1.1 200 OK

Date: Sun, 14 Mar 2010 21:36:39 GMT

Server: Apache/2

Last-Modified: Sat, 28 Nov 2009 03:59:01 GMT

ETag: "1387e3-5f88-479666db44b40"

Accept-Ranges: bytes

Content-Length: 24456

Vary: Accept-Encoding,User-Agent

Connection: close

Content-Type: text/html; charset=utf-8

<html lang="en-US" xml:lang = "en-US"> <nlns="http://www.w3.org/1999/xhtml">

<head>

<script>

HTTP-ответ состоит из двух частей. В начале идет заголовок ответа (response header). Затем идет пустая строка и далее — сама запрошенная информация. Эта вторая часть называется телом (body). Вот что означают части заголовка:

HTTP/1.1 — первая строка сообщает клиенту, что информация будет отправлена по протоколу HTTP версии 1.1. Код 200 состояния HTTP означает: "Все хорошо, документ найден и сейчас будет отправлен".

Date — сообщает клиенту дату, установленную на сервере, с которого поступает информация. Стандартный часовой пояс — GMT, то есть время по Гринвичу.

Server — каков тип сервера, предоставляющего информацию.

Connection — сообщает клиенту, что соединение будет закрыто после того, как сервер завершит отправку информации.

Content-Type — сообщает клиенту, какой тип содержимого будет отправлен. В дополнение также указывается набор символов.

Соседние файлы в папке example1