подробности HTTP

I. Обзор

  • HTTP (Hyper Text Transfer Protocol), протокол передачи гипертекста, является на основе TCP лица без связи, по существу, весь рабочий процесс, чтобы отправить запрос HTTP на сервер (сервер) клиент (клиент), конечный сервер после запроса на ресурсы, необходимые, сервер, принимающий запрос, клиент, чтобы сделать соответствующие действия в соответствии с запросом на доступ к серверу ресурсов, а затем возвращает результат соответствующего клиентского терминала через HTTP.

  • HTTP рабочий
  1. Запрос браузера на сервер DNS для разрешения имени домена в URL, соответствующей IP-адреса;
  2. После разбора IP-адрес TCP установления соединения в соответствии с IP-адресом и портом по умолчанию 80, и сервером;
  3. Проблемы чтения файла браузера (URL-имя домена, соответствующее задней части файла) запроса HTTP, запрос пакет как TCP трехэтапного пакетов третьих данных на сервер;
  4. Сервер отвечает на запрос браузера и отправляет HTML текст, соответствующий браузер;
  5. Освободить соединение TCP;
  6. HTML браузер отображает текст;
  • версия HTTP
0.9版本:仅支持html页面(已被淘汰);
1.0版本:
      (1)引入MIME(多用途互联网邮件扩展)机制,引入这个机制之后就可以发送多媒体信息;
            (2)引入keep-alive机制,支持持久链接的功能(但这个keep-alive原理是在首部添加了某个字段而形成,并非原生就支持此功能);
            (3)引入支持缓存页面功能;
1.1版本:1.0版本的升级,支持更多的请求连接方式、优化可持久链接、优化了页面缓存;
2.0版本:提供了http语义优化的传输,增加了一个spdy技术。Spdy技术:google引入的一个技术,能够加速http数据交互,尤其是使用了ssl加速机制;被人们普遍称为https协议;
  • Наиболее распространенные типы веб-страниц
静态页面:
常见的后缀名是:
文本:html、htm、txt、css、doc;
图片:gif、jpg、png;
视频:mp4、flv;

Процесс запроса

подробности HTTP

Гнездо представляет собой уровень абстракции между прикладным уровнем и транспортным уровнем, сокетом интерфейсом программирования сущностью (API), который слоем TCP / IP, сложные операциями несколько простого абстрактным интерфейсом слоя с вызовами питания для процесса в сети коммуникации. TCP / IP, только стек протоколов должен быть конкретной реализацией, но и обеспечивает внешний интерфейс оператора (API), который является интерфейсом гнезда. По сокет, мы можем использовать протокол TCP / IP.

①Web клиент до сокета ядра;
② клиент через браузер посылает запрос на получение данных на веб - сервер,
сервер ③Web принимает информацию запроса клиента;
④ если клиент запрашивает ресурс на сервере локально, HTTP сервис будет применяться к ядру системы вызов;
⑤ ядро , вызвать местный диск в данном, и передает данные на сервер через;
⑥http пользователь запрашивает ресурс посредством ответного пакета, окончательный ответ клиента;

Особенности: по разработчик хорошо писать заранее и хранить в текущей файловой системе, быстрая реакция, обслуживание страницы слишком много проблем, плохие данные взаимодействия, легко индексируются поисковыми системами

Динамические страницы:

Есть общий суффикс: PHP, JSP, ASP, нетто

  • Запрос процесс:
    подробности HTTP

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

Особенности: сам веб-сервер не поддерживает обработку динамических страниц, вам нужно иметь специальный интерпретатор будет завершен, изменение данных страницы, содержание страницы относительно простые, медленные данные отклика имеют интерактивность, содержит специальные просмотры страниц символов? ,%, & (Специальные символы), не могут быть проиндексированы поисковыми системами;

Псевдо-статические страницы: динамические страницы, замаскированные как статические страницы, индексируемой поисковыми системами, потребляющие аппаратных ресурсов;

  • HTTP пакет протокол
    Сообщение запроса (сообщение запроса): Клиент → Сервер
    делает запрос к серверу, клиент, различные сайты для различных запросов ресурсов (HTML - файл)

Формат запроса пакета:
подробности HTTP

подробности HTTP

请求行:用来标识客户端请求的资源时,使用的请求方法、请求资源、请求的协议是什么,它们直接使用“空格”进行分隔;

请求首部:作用是通过客户端请求的相关内容告知服务器端(首部可以不止一个)

空白行:请求首部之后会有一个空白行,通过发送回车字符和换行字符,用于通知服务端以下内容将不会再出现请求首部的信息;

请求实体:请求的页面的内容具体是什么

Response Message(响应报文):服务器端→客户端
服务器响应客户端的请求;

Ответное сообщение:
подробности HTTP

подробности HTTP

Start Line: Версия HTTP протокола , используемый ответ, ответ код состояния краткой информации, код состояния,
заголовки ответов: аналогичные пакеты запроса, как правило , за полем заголовка стартового номера строки. Каждое поле заголовка содержит имя и значение, два разделенных двоеточием, может содержать один или более.
Пустая строка: пустая строка является последним, отправив возврат каретки и перевод строки, информирует клиент без пустой строки после информации заголовка в ответ на информацию заголовка,
реагировании объект: содержание страницы фактически включен доступ;

  • Метод запроса HTTP
    в HTTP связи, каждое сообщение запроса HTTP , будет включать в себя метод запроса HTTP для информирования запроса клиента к серверу для выполнения определенных операций специфических.

Методы запроса Общие HTTP: GET, POST, HEAD

подробности HTTP

  • Код состояния HTTP

подробности HTTP
подробности HTTP

подробности HTTP
подробности HTTP

подробности HTTP

Два .HTTP работы

HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据

  • HTTP 请求/响应的步骤:

客户端连接到Web服务器->发送Http请求->服务器接受请求并返回HTTP响应->释放连接TCP连接->客户端浏览器解析HTML内容

1、客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.baidu.com

2、发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。

3、服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
4、释放连接TCP连接
若connection 模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection 模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接收请求;

5, клиент браузер анализирует содержимое HTML
статус браузер клиента линия разрешена первой, чтобы убедиться , что запрос является успешным кодом состояния. Затем разобрать каждый заголовок ответа, заголовок ответа сообщить набор символов HTML документов и задокументировать несколько байт. Клиентский браузер считывает данные ответа HTML, отформатированные в соответствии с его HTML синтаксиса, и отображается в окне браузера.

三 .URL.URI.URN

URI

URI一般由三部组成:
①访问资源的命名机制
②存放资源的主机名
③资源自身的名称,由路径表示,着重强调于资源。

URL

采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。URL一般由三部组成:
①协议(或称为服务方式)
②存有该资源的主机IP地址(有时也包括端口号)
③主机资源的具体地址。如目录和文件名等

URN,uniform resource name,统一资源命名,是通过名字来标识资源,

URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI。笼统地说,每个 URL 都是 URI,但不一定每个 URI 都是 URL。这是因为 URI 还包括一个子类,即统一资源名称 (URN),它命名资源但不指定如何定位资源。上面的 mailto、news 和 isbn URI 都是 URN 的示例。
  • HTTP дела ,

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

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

рекомендация

отblog.51cto.com/14400213/2457991