У ПО Консультант плюс есть возможность автоматического пополнения банков через интернет . Думаю многие об этом знают, и о том что это полезная функция не поспоришь. Однако, она не всегда хорошо работает. Но на самом деле нужно просто все правильно настроить.
И так, как настроить:
1) Создаем учетную запись (локальную или доменную) которая имеет доступ в интернет на прокси сервере или шлюзе, так же она должна обладать правами администратора (для упрощения настройки), но можно и ограничить доступом только в папку CONS.
2) Создаем задание в планировщике задач, где указываем время запуска, периодичность, параметры запускаемых объектов и учетную запись (ту что создали в 1 пункте) от имени которой будет запускаться задача.
Параметры командной строки
ПутьДоПапкиКонсультанта\CONS.EXE / adm / base* /receive_inet /yesПо идее все. Теперь наш консультант может сам обновлятся в указанное Вами время. Но я допустил ошибку в настройке, т.к. о подобном тех поддержка не говорила. Во общем мой консультант не обновляется , но планировщик отрабатывает корректно. Прихожу к выводу что само ПО выдает ошибку. Запускаем ПО от имени созданного пользователя, чтобы посмотреть ошибку в интерактивном режиме, и вот что видим:
Понимаем, что нам нужно настроить прокси сервер (т.к. мы используем именно прокси, а не шлюз для доступа в интернет) под этой учетной записью.
Для этого снова запускаем ПО с ключами (можно просто создать ярлык с ключами и запустить от имени нужного пользователя):
Ключи для пополнения банков интерактивно
ПутьДоПапкиКонсультанта\CONS.EXE / adm / inetИдем в сервис — настройки и вводим нужные параметры:
После этого пробуем пополнить банки, и что видим:
Все получилось, после того как Консультант + настроили под конкретным пользователем на прокси сервер можно смело запускать обновление через планировщик задач, все будет работать!!!
Коды ошибок посылаются WEB-сервером агенту пользователя для определения его дальнейшего поведения.
Ошибки ВЕБ-сервера делятся на диапазоны:
100-199 Информационный
. Сообщает агенту что, запрос агента принят и обрабатывается
200-299 Запрос агента обработан успешно
, сервер отправил клиенту запрашиваемый документ
300-399 Запрос агента изменен
и агенту нужно предпринять некоторые действия для удовлетворения измененного запроса.
400-499 Проблемы при попытке выполнить запрос
.
500-599 Ошибки сервера
В диапазоне определены лишь несколько кодов, хотя для сервера при необходимости могут определяться собственные коды. При получении кода, который не может распознать, агент интерпретирует его в соответствии с диапазоном, к которому этот код принадлежит. Коды в диапазонах 100-199, 200-299 и 300-399 большинство Web-броузеров обрабатывают без извещения пользователя, а некоторые коды ошибок из диапазонов 400-499, 500-599 отображаются для пользователя.
Код ошибки http сервера | Краткое описание |
ошибка 100 Continue | Начальная часть запроса принята, и клиент может продолжать передачу запроса |
ошибка 101 Switching Protocols | Сервер выполняет требование клиента и переключает протоколы в соответствии с указанием, данным в поле заголовка Upgrade. |
ошибка 200 OK | Запрос клиента обработан успешно и ответ сервера содержит затребованные данные |
ошибка 201 Created | Этот код состояния используется в случае создания нового URI. Вместе с этим кодом результата сервер выдает заголовок Location, который содержит информацию о том, куда были помещены новые данные. |
ошибка 202 Accepted | Запрос принят, но обрабатывается не сразу. В теле содержимого ответа сервера может быть дана дополнительная информация о данной транзакции. Гарантии того, что сервер в конечном итоге удовлетворит запрос, нет, даже несмотря на то, что на момент приема запрос выглядел допустимым. |
ошибка 203 Non-Authoritative Information | Информация в заголовке содержимого взята из локальной копии или у третьей стороны, а не с исходного сервера. |
ошибка 204 No Content | Ответ содержит код состояния и заголовок, но тело содержимого отсутствует. При получении этого ответа броузер не должен обновлять свой документ. Обработчик чувствительных областей изображений может возвращать этот код, когда пользователь щелкает на бесполезных или пустых участках изображения. |
ошибка 205 Reset Content | Броузер должен очистить форму, используемую в данной транзакции, для дополнительных входных данных. Полезен для CGI-приложений, требующих ввода данных. |
ошибка 206 Partial Content | Сервер возвращает лишь часть данных затребованного объема. Используется в ответе на запрос с указанием заголовка Range. Сервер должен указать диапазон, включенный в ответ, в заголовке Content-Range. |
ошибка 300 Multiple Choices | Затребованный URI обозначает более одного ресурса. Например, URI может обозначать документ, переведенный на несколько языков. В теле содержимого, возвращенном сервером, может находиться перечень более конкретных данных о том, как выбрать ресурс правильно |
ошибка 301 Moved Permanently | Затребованный URI уже не используется сервером, и указанная в запросе операция не выполнена. Новое местонахождение затребованного документа указывается в заголовке Location. Во всех последующих запросах данного документа следует указывать новый URI. |
ошибка 302 Moved Temporarily | Затребованный URI перемешен, но лишь временно. Заголовок Location указывает на новое местонахождение. Сразу же после получения этого кода состояния клиент должен разрешить запрос при помощи нового URI, но во всех последующих запросах необходимо пользоваться старым URI. |
ошибка 303 See Other | Затребованный URI можно найти по другому URI, указанному в заголовке Location. Его следует выбрать методом GET по данному ресурсу. |
ошибка 304 Not Modified | Это код ответа на заголовок lf-Modified-Since, если URI не изменялся с указанной даты. Тело содержимого не посылается, и клиент должен использовать свою локальную копию. |
ошибка 305 Use Proxy | Доступ к затребованному URI должен осуществляться через proxy-сервер, указанный в заголовке Location. |
ошибка 400 Bad Request | Означает, что сервер обнаружил в запросе клиента синтаксическую ошибку. |
ошибка 401 Unauthorized | Этот код результата, передаваемый с заголовком WWW-Authenticate, показывает, что пославший запрос пользователь не имеет необходимых полномочий и что при повторении запроса с указанием данного URI пользователь должен такие полномочия предоставить. |
ошибка 402 Payment Required | Этот код в HTTP еще не реализован. |
ошибка 403 Forbidden | Запрос отклонен по той причине, что сервер не хочет (или не имеет возможности) ответить клиенту. Возможные причины ошибки:
|
ошибка 404 Not Found | Документ по указанному URL не существует. Возможно, такой файл удален, а возможно, вы ошиблись при наборе URL в браузере или пошли по неверной ссылке. |
ошибка 405 Method Not Allowed | Этот код выдается с заголовком Allow и показывает, что метод, используемый клиентом, для данного URL не поддерживается. Возможно, вы пытаетесь отправить данные POST-форму на страницу, которая не является скриптом (например, на SHTML-страницу). Проверьте путь в атрибуте action тэга, инициировавшего данный запрос. Проверьте также, не пуст ли этот атрибут (и задан ли). |
ошибка 406 Not Acceptable | Ресурс, указанный клиентом по данному URL, существует, но не в том формате, который нужен клиенту. Вместе с этим кодом сервер выдает заголовки Content-Language, Content-Encoding и Content-Type. |
ошибка 407 Proxy Authentication Required | Proxy-сервер должен санкционировать запрос перед тем, как пересылать его. Используется с заголовком Proxy-Authenticate. |
ошибка 408 Request Time-out | Этот код ответа означает, что клиент не передал полный запрос в течение некоторого установленного промежутка времени (который обычно задается в конфигурации сервера) и сервер разрывает сетевое соединение. |
ошибка 409 Conflict | Данный запрос конфликтует с другим запросом или с конфигурацией сервера. Информацию о конфликте следует возвратить в информационной части ответа. |
ошибка 410 Gone | Данный код показывает, что затребованный URL больше не существует и навсегда удален с сервера. |
ошибка 411 Length Required | Сервер отказывается принимать запрос без определенного Content-Length. |
ошибка 412 Precondition Failed | Результат вычисления условия, заданного в запросе одним или несколькими заголовками if... , представляет собой "ложь". |
ошибка 413 Request Entity Too Large | Сервер не будет обрабатывать запрос, потому что его содержание слишком велико. |
ошибка 414 Request URL Too Long | Сервер не будет обрабатывать запрос, потому что его URL слишком длинный. |
ошибка 415 Unsupported Media Type | Сервер не будет обрабатывать запрос, потому что его тело имеет неподдерживаемый формат |
ошибка 416 Requested Range Not Satisfiable | Сервер сообщает - форма запроса (требуемый диапазон) не выполнима |
ошибка 417 Expectation Failed | Сервер сообщает - время ожидания истекло. |
ошибка 500 Internal Server Error | При обработке запроса на сервере один из его компонентов (например, CGI-программа) выдал аварийный отказ или столкнулся с ошибкой конфигурации. Причиной этого могут быть неправильные инструкции в файле.htaccess, неправильные атрибуты на CGI-скрипте (должны быть 755). Так же, это может быть ошибка в скрипте. Точную причину можно установить, просматривая error.log. |
ошибка 501 Not Implemented | Клиент запросил выполнение действия, которое сервер выполнить не может. |
ошибка 502 Bad Gateway | Сервер (или proxy-сервер) получил недопустимые ответы другого сервера (или proxy-сервера) |
ошибка 503 Service Unavailable | Данный код означает, что данная служба временно недоступна, но в будущем доступ к ней будет восстановлен. Если сервер знает, когда это произойдет, может быть также выдан заголовок Retry-After. |
ошибка 504 Gateway Time-out | Этот ответ похож на 408 (Request Time-out), за исключением того, что шлюз или уполномоченный сервер превысил лимит времени. |
ошибка 505 HTTP Version not supported | Версия HTTP не поддерживается данным сервером |
Ответы в диапазоне 100-199 - информационные. Они показывают, что запрос клиента принят и обрабатывается.
100 ="Continue"Ответы в диапазоне 200-299 означают, что запрос клиента обработан успешно.
200 ="OK"Броузер должен очистить форму, используемую в данной транзакции, для дополнительных входных данных. Полезен для CGI-приложений, требующих ввода данных.
206 ="Partial Content"Сервер возвращает лишь часть данных затребованного объема. Используется в ответе на запрос с указанием заголовка Range. Сервер должен указать диапазон, включенный в ответ, в заголовке Content-Range.
233 - because not everyone lives in "your country"Код ответа в диапазоне 300-399 означает, что запрос не выполнен и клиенту нужно предпринять некоторые действия для удовлетворения запроса.
300 ="Multiple Choices"Это код ответа на заголовок lf-Modified-Since, если URI не изменялся с указанной даты. Тело содержимого не посылается, и клиент должен использовать свою локальную копию.
305 ="Use Proxy"Доступ к затребованному URI должен осуществляться через proxy-сервер, указанный в заголовке Location.
306 ="(Unused)" 307 ="Temporary Redirect"Коды ответов в диапазоне 400-499 означают, что запрос клиента неполный. Эти коды могут также означать, что от клиента требуется дополнительная информация.
400 ="Bad Request"Сервер не будет обрабатывать запрос, потому что его тело имеет неподдерживаемый формат.
416 ="Requested Range Not Satisfiable"Запрашиваемый диапазон не допустим
417 ="Expectation Failed"Ожидание не удалось
422 ="Unprocessable Entity" - сервер успешно принял запрос, может работать с указанным видом данных (например, в теле запроса находится XML-документ, имеющий верный синтаксис), однако имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом.Превышен лимит запросов
449 - Retry with a proxy in another country. 450 =Rating Service Unavailable 451 =Unavailable For Legal Reasonsдоступ к ресурсу ограничен из-за проблем с законом. 451 - Site is not permitted in your country
452 could be site not permitted by employer, 453 could be site not permitted by ISP 460 Blocked by Repressive RegimeКоды ответов в диапазоне 500-599 показывают, что сервер столкнулся с ошибкой и, вероятно, не сможет выполнить запрос клиента.
500 ="Internal Server Error"Сервер не поддерживает версию протокола HTTP, использованную в запросе.
560 - Server is being censoredДля отправки кода статуса из PHP используется директива "header Status ".
Шпаргалка по ответам сервера. Заглянув в данный список можно безошибочно определить, что означает то или иное число, отдаваемое серваком. Скопировал из Википедии. Для наиболее частых ответов (301, 404, 500), сделал более подробное описание.
Всю эту информацию можно посмотреть в графическом исполнении вот
. Изучая рисунок можно более наглядно представить процессы общения по схеме клиент — сервер.
1xx: Информационные.
2xx: Success (Успешно).
3xx: Redirection Перенаправление.
4xx: Client Error (Ошибка клиента).
5xx: Server Error (Ошибка сервера).
Код состояния HTTP - это часть строки заголовка, ответа веб сервера на запрос клиента, информирующая о результате запроса и о том, что клиент должен предпринять далее. Думаю не все знают как выглядит заголовок ответа сервера, зато уверен, каждый, пользующийся интернетом, не раз сталкивались, со страницей 404 Not Found или 403 Forbadden . Это и есть, видимый пользователю результат, выдачи сервером, того или иного кода статуса в строке заголовке.
Коды состояния HTTP , разделены на 5 категорий. Клиент может быть не знаком с тем или иным кодом ответа HTTP , однако он должен отреагировать согласно категории кода. Итак протокол HTTP поддерживает следующие коды статуса, разделенные по категориям:
Коды данной категории, сообщают клиенту, что для завершения запроса, ему необходимо выполнить дополнительный запрос, как правило по другому URI , соответствующий адрес указывается в строке Location , ответа сервера. Программа - клиент может совершать дополнительные запросы без участия пользователя, при условии что дополнительный запрос делается методами GET или HEAD .
Некоторые клиенты некорректно работают с редиректами 301 и 302 , применяя в запросе ко второму ресурсу метод GET , несмотря на то, что первый запрос был сделан с использованием другого метода. В протоколе HTTP версии 1.1 , вместо ответа статуса 302 , были введены дополнительные коды ответов, 303 и 307 . Изменять метод, необходимо только в случает ответа сервера со статусом 303 , в остальных случаях использовать исходный метод.
300 Multiple Choices - Несколько вариантов выбора.
По запрошенному URI
, существует несколько вариантов ресурса, различных по MIME
типу. языку или другим признакам. В ответе сервера, передается список альтернатив, выбираемый клиентским приложением автоматически или самим пользователем. Появился в протоколе версии HTTP/1.0
.
301 Moved Permanently - Перемещёно окончательно.
Запрошенный ресурс был окончательно перемещен на URI
, указанный в строке заголовка Location
, ответа сервера. Некоторые клиенты, при обработке данного кода, ведут себя некорректно, см. выше. Появился в протоколе версии HTTP/1.0
.
302 Found - Найдено (Moved Temporarily)
Данный код статуса сообщает клиенту, что ресурс временно доступен по другому URI
Location
, заголовка ответа сервера. Данный код используется например, при согласовании содержимого (Content Negotiation
), выполняемого сервером. Появился в протоколе версии HTTP/1.0.
303 See Other - Смотреть другое.
Документ из запрошенного URI
, нужно запросить по адресу, указанному в строке заголовка Location
, заголовка ответа сервера, используя метод GET
, невзирая на то, каким методом был сделан первый запрос. Появился в протоколе версии HTTP/1.1.
304 Not Modified - Не изменялось.
Данный код выдается в случае запроса документа, методом GET
, с использованием заголовков If-Modified-Since
или If-None-Match
, и документ не был изменен с указанного момента времени. Появился в протоколе версии HTTP/1.0
.
305 Use Proxy - Использовать прокси сервер.
Запрос к ресурсу, должен выполняться через прокси-сервер., адрес которого, указан в строке заголовка Location
, заголовка ответа сервера. Появился в протоколе версии HTTP/1.1.
307 Temporary Redirect - Временное перенаправление
Запрошенный ресурс временно доступен по URI
, указанному в строке заголовка Location
, заголовка ответа сервера. Появился в протоколе версии HTTP/1.1
.
Коды данной категории служат для указание на ошибку со стороны клиента. При использовании любых методов запроса, кроме HEAD , сервера возвращает пользователю гипертекстовое пояснение по данной ошибке.
400 Bad Request - Плохой запрос. Из-за синтаксической ошибки, запрос не был понят сервером. Появился в протоколе версии HTTP/1.0 . 401 Unauthorized - Не авторизован. Ресурс требует идентификации пользователя. Клиентское приложение запрашивает у пользователя данные для аутентификации (имя, пароль) и передает их на сервер в заголовке WWW-Authenticate . Если данные указаны не правильно, будет снова выдан этот-же код статуса. Появился в протоколе версии HTTP/1.0. 402 Payment Required - Необходима оплата. Пока не используется. Появился в протоколе версии HTTP/1.1. 403 Forbidden - Запрещено. Сервер отказал в доступе к запрошенному ресурсу ввиду ограничений. Ограничения могут быть любыми, установленными администратором сервера, или определенным веб приложением. Например, в целях безопасности, закрыт доступ к файлу, .htacces или .htpasswd или к закрытой директории сайта, или в случае, когда аутентификация должна производится через веб приложение (например сайтовый движок), ну или блокировка по IP адресу, в случае слишком частых обращений. Появился в протоколе версии HTTP/1.0 . 404 Not Found - Не найдено. Сервер не нашел запрошенный ресурс по указанному адресу. Кроме того данный код ответа можно использовать вместо 403, с целью, скрыть расположение документа, доступ к которому запрещен. Появился в протоколе версии HTTP/1.0 . 405 Method Not Allowed - Метод не поддерживается. Клиент попытался использовать метод, недопустимый для данного ресурса. Сервер передает в заголовке, строку Allow , содержащую список допустимых методов. Появился в протоколе версии HTTP/1.1 . 406 Not Acceptable - Не приемлемо. Запрошенный ресурс, не удовлетворяет, запрошенные характеристики. В случае, если запрос был сделан не методом HEAD , сервер вернет список допустимых характеристик запрошенного ресурса. Появился в протоколе версии HTTP/1.1. 407 Proxy Authentication Required - Необходима прокси авторизация. Данный код статуса, аналогичен коду 401 за исключением того, что аутентификация производится для прокси-сервера. Появился в протоколе версии HTTP/1.1 . 408 Request Timeout - Время ожидания истекло. Истек таймаут ожидания передачи данных, между сервером и клиентом. Появился в протоколе версии HTTP/1.1 . 409 Conflict - Конфликт. Конфликтная ситуация при обращении к ресурсу. Такое может произойти, например, при попытке одновременного изменения файла, методом PUT , несколькими клиентами. Появился в протоколе версии HTTP/1.1 . 410 Gone - Удалён. Данный ответ выдается в случае, если документ был по указанному URI , но в данный момент удален. Появился в протоколе версии HTTP/1.1 . 411 Length Required - Необходима длина. Этот код статуса говорит о том, что для данного URI , в заголовке запроса, должно быть указано значение в поле Content-Length . Появился в протоколе версии HTTP/1.1. 412 Precondition Failed - Условие «ложно. Данный код выдается в случае, если ни одно из условных полей заголовка не было удовлетворено. Появился в протоколе версии HTTP/1.1. 413 Request Entity Too Large - Запрошены слишком большие данные. Данный код выдается, если сервер по каким-либо причинам, не может передать, требуемый объем данных. Если это временная проблема, сервер может указать время, по истечении которого можно будет попробовать повторно запросить ресурс, в строке заголовка, Retry-After . Появился в протоколе версии HTTP/1.1. 414 Request-URI Too Long - Запрашиваемый URI слишком длинный. Слишком длинная строка запроса. Такая ситуация может произойти, например в случае попытки, передать данные методом GET , вместо использования POST . Появился в протоколе версии HTTP/1.1. 415 Unsupported Media Type - Неподдерживаемый тип данных. Сервер, по какой-то причине, отказался обрабатывать запрошенные данные, используемым методом. Появился в протоколе версии HTTP/1.1. 416 Requested Range Not Satisfiable - Запрашиваемый диапазон не достижим. В строке заголовка запроса Range, установлен диапазон, выходящий за рамки запрошенного ресурса и отсутствует строка If-Range . Появился в протоколе версии HTTP/1.1. 417 Expectation Failed - Ожидаемое не приемлемо. Сервер не может обработать строку заголовка запроса Expect . Появился в протоколе версии HTTP/1.1. 422 Unprocessable Entity - Необрабатываемый экземпляр. Запрос принят, тип данных может быть обработан, синтаксис XML данных в теле запроса верен, но имеет место логическая ошибка, не позволяющая обработать запрос к ресурсу. Используется в протоколе WebDAV . 423 Locked - Заблокировано. Запрошенный ресурс заблокирован от данного метода. Используется в протоколе WebDAV . 424 Failed Dependency - Невыполненная зависимость. Выполнение запроса, может зависеть от результата выполнения, какой-либо другой операции, при невыполнении данного условия, будет выдан этот код статуса. Используется в протоколе WebDAV . 425 Unordered Collection - Беспорядочный набор. Этот код статуса будет выдан в случае, если клиент отправил запрос обозначив положение в неотсортированной коллекции или используя порядок следования элементов отличный от серверного. Введено в черновике по WebDAV Advanced Collections Protocol . 426 Upgrade Required - Требуется обновление. Указание сервера, клиенту, обновить протокол. Заголовок ответа, должен содержать правильно составленные поля Upgrade и Connection . Введено в RFC 2817 для возможности перехода к TLS посредством HTTP . 449 Retry With - Повторить с... Выдается в случае поступления не достаточного количества информации для обработки запроса. В заголовок ответа сервера, помещается строка Ms-Echo-Request . Введено корпорацией Microsoft для WebDAV .
Коды данной категории, предназначены для ситуаций, когда обработка запроса не возможна по вине сервера. Во всех случаях, кроме использования метода HEAD , сервер должен включать в тело ответа, объяснение для пользователя.
500 Internal Server Error - Внутренняя ошибка сервера. Любая внутренняя ошибка на стороне сервера не подпадающая под остальные ошибки из категории 5хх. Появился в протоколе версии HTTP/1.0. 501 Not Implemented - Не реализовано. Сервер не поддерживает, необходимых для обработки запроса, возможностей. (например не поддерживается необходимый метод обработки). Появился в протоколе версии HTTP/1.0 . 502 Bad Gateway - Плохой шлюз. Сервер, работающий в качестве прокси или шлюза, получил сообщение о неудачное в промежуточной операции. Появился в протоколе версии HTTP/1.0 . 503 Service Unavailable - Сервис недоступен. Сервер не в состоянии обрабатывать запросы клиентов по техническим причинам. Появился в протоколе версии HTTP/1.0 . 504 Gateway Timeout - Истек таймаут ожидания ответа шлюза. Проксирующий сервер или шлюз, не дождался ответа от вышестоящего сервера для завершения обработки запроса. Появился в протоколе версии HTTP/1.0 . 505 HTTP Version Not Supported - Версия HTTP протокола не поддерживается. Сервер не поддерживает, или не может обработать, указанную в заголовке версию HTTP протокола. Появился в протоколе версии HTTP/1.0. 506 Variant Also Negotiates - Вариант тоже согласован. Из-за не верной конфигурации, выбранный вариант указывает сам на себя, в следствии чего, связывание прерывается. Добавлено в RFC 2295 для дополнения протокола HTTP технологией Transparent Content Negotiation . 507 Insufficient Storage - Переполнение хранилища. Недостаточно места для обработки текущего запроса. Возможно временная проблема. Используется в протоколе WebDAV . 509 Bandwidth Limit Exceeded - Пропускная возможность канала исчерпана. Данный код статуса, используется в случае превышения веб площадкой, отведенного ей лимита, на потребляемый трафик. Данный код не описан ни одним RFC и используется только модулем bw/limited , панели веб-хостинга cPanel . 510 Not Extended - Нет расширения. У сервера отсутствует расширение, которое пытается использовать клиентом. Сервер может передавать информацию, об имеющихся у него расширениях. Введено в RFC 2774 для дополнения протокола HTTP поддержкой расширений.
HTTP метод - это основная операция, которую необходимо выполнить над ресурсом. В названии могут использоваться любые символы, кроме управляющих последовательностей и разделителей, как правило это короткое слово на английском языке. Имена методов HTTP зависимы от регистра.
Любой обязан работать, по крайней мере с двумя методами GET и HEAD . Если сервер не смог определить метод, указанный в заголовке запроса клиента, он должен вернуть код статуса 501 (Not Implemented) , если-же метод серверу известен, но неприменим к данному ресурсу, будет возвращен код статуса 405 (Method Not Allowed) . Как в первом, так и во втором случае, сервер должен включить в свой ответ, заголовок Allow со списком методов, которые он поддерживает.
Данный метод используется для выяснения поддерживаемых веб-сервером возможностей или параметров соединения с конкретным ресурсом. Сервер включает в ответный запрос заголовок Allow , со списком поддерживаемых методов и возможно информацию о поддерживаемых расширениях. Тело запроса клиента, содержит информацию об интересующих его данных, но на данном этапе формат тела и порядок работы с ним, не определен, пока, сервер должен его игнорировать. С ответным запросом сервера, происходит аналогичная ситуация.
Что-бы выяснить возможности сервера, клиент должен указать в запросе URI , символ - "* ", то есть данный запрос к серверу выглядит как: OPTIONS * HTTP/1.1 . Кроме прочего, данный запрос может быть использован для проверки работоспособности сервера и поддержки им протокола HTTP , версии 1.1 . Результаты данного запроса не кэшируются.
Метод GET , применяется для запроса конкретного ресурса. Так-же с помощью GET , может быть инициирован некий процесс, при этом, в тело ответа, включается информация о ходе выполнения инициированного запросом действия.
Параметры для выполнения запроса, передаются в URI запрашиваемого ресурса, после символа "? ". Запрос в таком случае выглядит примерно так: GET /some/resource?param1=val1¶m2=val2 HTTP/1.1 .
Как установлено в стандарте HTTP , запросы методом GET , являются идемпотентными, то есть, повторная отправка одного и того-же запроса, методом GET , должна приводить к одному и тому-же результату, в случае, если сам ресурс, в промежутках между запросами, изменен не был, что позволяет кэшировать результаты, выдаваемые на запрос методом GET .
Кроме вышесказанного, существуют еще два вида метода GET
, это:
условный GET
, содержащий заголовки If-Modified-Since, If-Match, If-Range
и им подобные,
Частичный GET
, содержащий заголовок Range
с указанием байтового диапазона данных, которые сервер должен отдать. Данный вид запроса используется для докачки и организации многопоточных закачек.
Порядок работы с этими подвидами запроса GET , стандартами определен отдельно.
Данный метод, аналогичен методу GET , с той лишь разницей, что сервер не отправляет тело ответа. Метод HEAD , как правило используется для получения метаданных ресурса, проверки URL (есть-ли указанный ресурс на самом деле) и для выяснения факта изменения ресурса с момента последнего обращения к нему.
Заголовки ответа могут быть закэшированы, при несоответствии метаданных и информации в кэше, копия ресурса помечается как устаревшая.
Метод POST , используется для передачи пользовательских данных на сервер, указанному ресурсу. Примером может послужить HTML форма с указанным атрибутом Method="POST" , для отправки комментария к статье. После заполнения необходимых полей формы, пользователь жмет кнопку "Отправить" и данные, методом POST , передаются серверному сценарию, который в свою очередь выводит их на странице комментариев. Таким-же образом, с помощью метода POST , можно передавать файлы.
В отличии от GET , метод POST , не является идемпотентным, то есть неоднократное повторение запроса POST , может выдавать разные результаты. В нашем случае, будет появляться новая копия комментария при каждом запросе.
Если в результате запроса методом POST , возвращается код 200 (Ok) или 204 (No Content) , в тело ответа сервера, добавляется сообщение о результате выполнения запроса. Например, если был создан ресурс, сервер вернет 201 (Created) , указав при этом URI созданного ресурса в заголовке Location .
Ответы сервера, на выполнение метода POST , не кэшируются.
Используется для загрузки данных запроса на указанный URI . В случае отсутствия ресурса по указанному в заголовке URI , сервер создает его и возвращает код статуса 201 (Created) , если ресурс присутствовал и был изменен в результате запроса PUT , выдается код статуса 200 (Ok) или 204 (No Content) . Если какой-то из переданных серверу заголовков Content-* , не опознан или не может быть использован в данной ситуации, сервер возвращает статус ошибки 501 (Not Implemented) .
Главное различие методов PUT и POST в том, что при методе POST , предполагается, что по указанному URI , будет производиться обработка, передаваемых клиентом данных, а при методе PUT , клиент подразумевает, что загружаемые данные уже соответствуют ресурсу, расположенному по данному URI .
Ответы сервера при методе PUT не кэшируются.
Работает аналогично методу PUT , но применяется только к определенному фрагменту ресурса.
Удаляет ресурс, расположенный по заданному URI.
При запросе методом TRACE, клиент может увидеть, какие изменения были сделаны в запросе, промежуточными серверами.