A free and open-source book on ZF3 for beginners


3.5. HTTP-запрос и ответ

Когда пользователь сайта открывает веб-страницу в окне браузера, браузер генерирует запрос и отсылает его через протокол HTTP веб-серверу. Сервер в свою очередь перенаправляет этот запрос вашему приложению.

HTTP (расшифровывается как Hyper Text Transfer Protocol - "протокол передачи гипертекста") -- это протокол для передачи данных в виде гипертекстовых документов (веб-страниц). HTTP основан на технологии "клиент-сервер": клиент инициирует соединение и отсылает запрос веб-серверу, сервер ждет установки соединения, выполняет необходимые действия и посылает обратно ответ.

Таким образом, главной целью, лежащей в основе любого веб-приложения, является обработка HTTP-запроса и создание HTTP-ответа, обычно содержащего HTML-код запрашиваемый веб-страницы. Ответ посылается сервером браузеру клиента, и браузер отображает веб-страницу на экране монитора.

Ниже представлен типичный HTTP-запрос:

GET http://www.w3schools.com/ HTTP/1.1
Host: www.w3schools.com
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) 
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US;q=0.8,en;q=0.6
Cookie: __gads=ID=42213729da4df8df:T=1368250765:S=ALNI_MaOAFe3U1T9Syh; 
(empty line)
(message body goes here)

Этот HTTP-запрос состоит из трех частей:

В запросе могут отсутствовать заголовки и тело сообщения, но он всегда содержит начальную строку, потому что она указывает на его тип и URL.

Ответ сервера на этот запрос представлен ниже:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
Set-Cookie: ASPSESSIONIDQQRBACTR=FOCCINICEFAMEKODNKIBFOJP; path=/
X-Powered-By: ASP.NET
Date: Sun, 04 Aug 2013 13:33:59 GMT
Content-Length: 8434
(empty line)
(page content follows)

Как видите, HTTP-ответ имеет почти такой же вид, как и запрос:


Top