Лекция: Транзакции HTTP

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

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=«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 — сообщает клиенту, какой тип содержимого будет отправлен. В дополнение также указывается набор символов.

еще рефераты
Еще работы по информатике