Интернет, компьютеры, софт и прочий Hi-Tech

Подписаться через RSS2Email.ru

Методы HTTP — GET, POST и другие

HTTP-запрос

Пожалуй, четыре латинские буквы HTTP, означающие «протокол передачи гипертекста» (HyperText Transfer Protocol), изрядно примелькались всем пользователям всемирной паутины. Ведь они, буквы, как правило, фигурируют в самом начале адреса любого сайта, добавляясь автоматически. Правда, нынче браузеры научились скрывать всё лишнее (например, Opera), но сам протокол (то бишь правила обработки данных) от этого никуда не делся. Вот о нём и поговорим. Вернее, о его возможностях.

Итак, что же происходит, когда вы набираете в строке браузера адрес сайта и нажимаете на клавишу Enter. Активизируется другой протокол, называемый TCP/IP, тесно взаимодействующий с HTTP. Это обозначает следующее: открывается порт 80, предназначенный для обмена данными по HTTP, плюс используется IP-адрес, по которому расположен (или должен быть расположен) сайт где-то на сервере. А всё вместе называется HTTP-запрос.

Запрос состоит из двух частей: заголовка и тела. В заголовке содержится информация о дате, о том, с какого сайта вы переходите, какой у вас браузер, ну и прочая информация служебного свойства. В теле может быть длина запроса в байтах, кодировка страницы (например, charset=windows-1251), указание форматов данных, которые клиент (принимающая сторона) способен распознать и обработать (text/html, image/gif и тому подобные).

Причём, сервер отвечает на запрос и тоже передаёт браузеру сведения (например, код статуса 404, то бишь «страница не найдена», или 403 — «доступ запрещён»). В ответе, кроме прочего, может содержаться информация о том, какие методы разрешено использовать.

Слово «метод» говорит само за себя. Это один из случаев, когда термин не требует расшифровки. Ведь и так ясно, что подразумевается метод взаимодействия браузера с каким-нибудь ресурсом в сети, выполнение той или иной операции.

POST

Метод POST используется очень часто. Например, вы посетили чей-нибудь блог и вознамерились оставить там комментарий. Вводите какие-нибудь слова в HTML-форму, отстукивая их на клавиатуре, а потом жмёте кнопку отправки. На сервере работает CGI-скрипт, который подхватывает написанное, извлекает из тела запроса и публикует на сайте, а вам возвращается обновлённая страница, где можно увидеть, что из всего этого получилось.

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

GET

Метод GET тоже служит для передачи данных и взаимодействия с сервером, но работает иначе. Требуемые параметры приклеиваются прямиком к адресу ресурса в сети (URL), отделяясь вопросительным знаком.

Например, возьмём гипотетический сайт, работающий на PHP: http://vasya-pupkin.com/index.php. В прикрученной к нему базе данных содержится определённая категория, к которой надо обратиться. Значит: http://vasya-pupkin.com/index.php?cat=1. Вот и всё, произошло обращение к категории 1, переданной переменной cat.

Когда надо передать ещё какие-либо сведения, то в запросе они отделяются друг от друга символом &. Скажем, надо отправить переменную id с какими-то значением. Тогда получится что-то вроде http://vasya-pupkin.com/index.php?cat=1&id=1.

То есть, если метод POST заливает на сервер содержимое форм для последующей обработки, то метод GET показывает используемые им данные прямо в адресной строке.

HEAD

Данный метод по своей сути похож на GET, но сервер отвечает на запрос одним лишь заголовком. (Отсюда и название метода.) Применяется, например, чтобы узнать, существует ли в сети тот или иной URL и не произошло ли каких-нибудь изменений.

OPTIONS

Предназначен для получения сведений о доступных параметрах соединения с ресурсом. Самый простой пример: OPTIONS * HTTP/1.1, запрашивающий всё, что сервер готов сообщить по этому поводу.

PUT и PATCH

Как и POST, метод PUT тоже служит для передачи на сервер каких-то данных, но является, так сказать, менее продвинутым. В основном, применяется для обновления информации, когда не нужно закачивать и обрабатывать большие объемы данных. Иногда используется PATCH, метод с ещё более урезанными возможностями, работающий только с частью ресурса.

LINK, UNLINK, TRACE и CONNECT

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

Есть и другие методы, применяемые довольно редко. (Такие как DELETE, чьё название весьма красноречиво). Однако полный комплект действий разрешён далеко не на каждом сервере. Доступные методы обычно указываются в ответе на запрос.

Теперь у вас, надо надеяться, сформировалось общее представление о протоколе HTTP и его возможностях. Если есть желание стать профессиональным веб-мастером и создавать хорошие сайты, то вам уже чуточку яснее, в каком направлении нужно работать над углублением и расширением своих знаний.

Автор: vanilinkin, специально для xBB.uz, 05.08.2011


Предыдущие публикации:

Биржа долевых инвестиций SIMEX.

Последнее редактирование: 2011-08-05 16:44:29

Метки материала: методы, http, get, post, методы http, http get, get post, http get post, методы http get post, get, post и другие, интернет, сеть, it, internet, информационные технологии, ит, инет, интернет сеть, компьютерная сеть, протокол http, интернет и www


1 комментарий

02.04.2018 17:42:24 #
Google Chrome Гость NRuy
Спасибо, полезная статья!

Оставьте, пожалуйста, свой комментарий к публикации

Представиться как     Антибот:
   

Просьба не постить мусор. Если вы хотите потестить xBB, воспользуйтесь кнопкой предварительного просмотра на панели инструментов xBBEditor-а.


© 2007-2018, Дмитрий Скоробогатов.
Разрешается воспроизводить, распространять и/или изменять материалы сайта
в соответствии с условиями GNU Free Documentation License,
версии 1.2 или любой более поздней версии, опубликованной FSF,
если только иное не указано в самих материалах.