{{ HTTPSidebar }}
Протокол передачи гипер текста ( Hypertext Transfer Protocol - HTTP) это прикладной протокол для передачи данных. Он используется для общения между веб браузерами и веб серверами, хотя в принципе HTTP может использоваться и для других целей. Протокол следует классической клиент-серверной модели, когда клиент открывает соединение, инициирует запрос, а затем ждет ответа. HTTP - это stateless-протокол, то есть сервер не сохраняет никаких данных (состояние) между парами запросов-ответов. Несмотря на то, что HTTP основан на TCP/IP , он так же может использовать любой транспорт, который не теряет молча сообщения (то есть обязан знать дошло ли сообщение до адресата).
Учебники
- Обзор HTTP
- Представлены основные свойства клиент-серверного протокола: что можно сделать и для чего он предназначен
- Эволюция HTTP
- Краткое описание изменений, произошедших в HTTP, начиная с самых ранних версий, заканчивая новой HTTP/2 и далее.
- HTTP-сообщения (HTTP Messages)
- Описывает тип и структуру разных видов сообщений HTTP/1.x и HTTP/2.
- Обычный сеанс HTTP
- Показывает и описывает течение обычногое сеанса HTTP
- Управление подключениями в HTTP/1.x
- Описывает три модели управления подключыениями доступными в HTTP/1.x, их сильные и слабые стороны
- HTTP-кэширование (HTTP Cache)
- Кэширование это основной инструмент для повышения производительности веб-сайтов. Эта статья представляет разные виды кэша, и как можно использовать HTTP-заголовки для конфигурации и управления кэшированием.
- HTTP куки (HTTP cookies)
- Как работают куки можно почитать в RFC 6265. В момент получения HTTP запроса , сервер может послать Set-Cookie заголовок в ответе. После этого, значение куки посылается с каждым запросом к этому серверу. Делается это в форме
Cookie HTTP header
. Дополнительно, можно указать истечение срока куки, а так же ограничения для специфического домена или пути. - Контроль доступа (совместное использование ресурсов между разными источниками, HTTP access control (CORS))
- Межсайтовые HTTP-запросы (кросс-сайтовые) - это запросы к ресурсам, находящимся домене отличающимся от того, с которого производится запрос. Например, ресурс, загружаемый с домена А (
https://domaina.example
), такой как HTML веб страница, запрашивает ресурс с домена Б (https://domainb.foo
), например, изображение, используя тегimg
(https://domainb.foo/image.jpg
). Это происходит постоянно в мире веба: страницы загружают различные ресурсы в кроссайтовой манере, включая стили (CSS) , изображения, скрипты и другие ресурсы. - Контроль предварительной загрузки DNS (Controlling DNS prefetching)
- Firefox как и большинство других браузеров выполняет предварительную загрузку DNS (DNS prefetching). Это действие, когда брайзеры превентивно выполняют разрешение доменных имён (получают имена доменов) для ссылок, по которым пользователь может перейти, а также для ссылок на ресурсы, такие как картинки, CSS, JavaScript. Эта предварительная загрузка выполняется в фоновом режиме, так что вполне вероятно, что к моменту обращения к объектам в документе, DNS уже получен. Это уменьшает задержки, когда, например, пользователь кликает на ссылку.
Справочники
- HTTP заголовки (HTTP headers)
- Заголовки HTTP сообщения используются для точного описания загружаемого ресурса или поведения сервера или клиента. Пользовательские заголовки можно добавить используя 'X-' префикс; другие перечислены в IANA registry, содержание которого в свою очередь определено в RFC 4229. IANA так же поддерживает регистр предложенных новых HTTP заголовков.
- Методы HTTP запроса
- Различные операции, которые выполняются с HTTP:
- {{HTTPMethod("GET")}}
- {{HTTPMethod("POST")}}
- {{HTTPMethod("OPTIONS")}}
- {{HTTPMethod("DELETE")}}
- {{HTTPMethod("TRACE")}}
- {{HTTPMethod("PATCH")}}
- другие
- Коды ответа (HTTP response codes)
- Коды ответа HTTP указывают на результат выполнения определенного HTTP запроса. Ответы сгруппированы в пять категорий: информационные ответы, удачные ответы, перенаправления, ошибки клиента, и ошибки сервера.
Инструменты и ресурсы
- Firefox Developer Tools
- Network monitor
- RedBot
- Инструмент для проверки кэширования заголовков
- Принципы работы современных веб-браузеров
- Комплексная статья по внутренностям браузеров и потоку запросов через протокол HTTP. Это нужно понимать всем разработчикам.
См. также
- Controlling DNS prefetching
- HTTP pipelining FAQ
- HTTP cookies
- HTTP Headers
- Basic access authentication
- HTTP access control (CORS)
{{ languages( { "ja": "ja/HTTP"} ) }}