Основы HTTP: от простого к сложному

Основы HTTP: от простого к сложному.

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

И так, в основе WWW лежит протокол НТТР (Hyper Text Transfer Protocol). Этот протокол определяет, как веб-браузеры запрашивают файлы у вебсерверов, и как веб-серверы передают запрашиваемые файлы обратно. Соответственно, чтобы понять и освоить различные РНР-техники, применяемые в контексте неб-разработки, мы должны знать хотя бы основы НТТР. Для более полного понимания НТТР рекомендую книгу «НТТР Pocket Reference» (НТТР. Карманный справочник) http://shop.oreilly.com/product/9781565928626.do

Когда веб-браузер запрашивает веб-страницу, он отправляет НТТР-запрос веб-серверу. Запрос всегда содержит заголовочную информацию и иногда содержит тело запроса. Веб-сервер отвечает сообщением, которое всегда содержит информацию заголовка и обычно содержит тело. Первая строка запроса выглядит примерно так:

GET /index.html НТТР/ 1. 1

Данная строка указывает НТТР-команду, называемую методом, после которой следует адрес документа и версия используемого протокола НТТР. В этом случае применяется метод GET, чтобы получить документ index.html, используя протокол НТТР 1.1. После начальной строки запрос может содержать дополнительную информацию заголовка, которая сообщает серверу дополнительные данные о запросе. Например:

User-Agent: Mozilla/5.0 (Windows 2000; U) Орега 6.0 [en]

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

Строка заголовка (или просто — заголовок) User-Agent предоставляет информацию о веб-браузере, а строка (заголовок) Accept указывает MIME-типы, которые поддерживает браузер. После строк заголовка запрос содержит пустую строку, чтобы обозначить конец секции заголовка. Запрос может также содержать дополнительные данные, если это требуется для используемого метода (например, для метода POST, который мы обсудим далее). Если запрос не содержит данных, он заканчивается пустой строкой.

Веб-сервер принимает запрос, обрабатывает его и отправляет ответ. Первая строка НТТР-выглядит в большинстве случаев так:

НТТР/1.1 200 ОК

Эта строка указывает версию протокола, код состояния и описание этого кода состояния. В нашем случае код состояния — 200, он означает, что запрос был успешен, о чем свидетельствует описание “ОК”. После этого ответ еще содержит другие строки заголовка, предоставляющие дополнительную информацию о запросе. Например:

Date: Thu, 3 1 Мау 2019 14:07:50 GMT

Server: Apache/2.2.14 (Ubuntu)

Content-Type: text/html

Content-Length: 1 845

Строка заголовока (заголовок) Server предоставляет информацию о программном обеспечении веб-сервера, а заголовок Content-Type указывает М1МЕ-тип данных, содержащихся в ответе. После раздела заголовка ответ содержит пустую строку, за которой следуют запрашиваемые данные, если запрос был успешен.

Два наиболее используемых НТТР-метода — GET и POST. Метод GET предназначен для запроса такой информации как HTML-документ, картинка, результаты запроса базы данных, с сервера и т.д. Метод POST означает отправку информации (например, такой как номер кредитной карточки, который должен быть сохранен в базе данных) на сервер. Веб-бразуер использует метод GET, когда пользователь вводить URL или щелкает на ссылке. Когда пользователь заполняет форму, может использоваться как метод GET, так и POST, в зависимости от значения атрибута method тега form. Более подробно методы GET и POST будут рассмотрены в следующих статьях.

К слову, современные реалии таковы, что как правило сайты частенько начали дополнять мобильными приложениями. Вы можете попытаться создать сайт самостоятельно, либо, принимая во внимание сложность поставленных задач, делегировать всю или часть работы опытным специалистами https://halikov-studio.ru. Если ваша компания нуждается в передовых решениях — разработка приложений и разработчики сайтов в Уфе https://halikov-studio.ru помогут достичь поставленных задач и воплотить ваши задумки. Перейдя по ссылке вы сможете ознакомиться с портфолио и ценами на предоставляемые услуги.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *