Сайт о телевидении

Сайт о телевидении

» » Как исправить ошибку 411 требуется длина. Коды ошибки http веб-сервера. Расшифровка кодов

Как исправить ошибку 411 требуется длина. Коды ошибки http веб-сервера. Расшифровка кодов

33

Это, как я называю обслуживание с.NET:

Var requestedURL = "https://accounts.google.com/o/oauth2/token?code=" + code + "&client_id=" + client_id + "&client_secret=" + client_secret + "&redirect_uri=" + redirect_uri + "&grant_type=authorization_code"; HttpWebRequest authRequest = (HttpWebRequest)WebRequest.Create(requestedURL); authRequest.ContentType = "application/x-www-form-urlencoded"; authRequest.Method = "POST"; WebResponse authResponseTwitter = authRequest.GetResponse();

Но когда этот метод вызывается, я получаю:

Exception Details: System.Net.WebException: The remote server returned an error: (411) Length Required.

что я должен делать?

  • 6 ответов
  • Сортировка:

    Активность

54

Когда вы используете метод HttpWebRequest и POST, вам необходимо установить контент (или тело, если хотите) через RequestStream. Но, согласно вашему коду, использования authRequest.Method = "GET" должно быть достаточно.

В случае, если вам интересно о формате POST, вот что вы должны сделать:

ASCIIEncoding encoder = new ASCIIEncoding(); byte data = encoder.GetBytes(serializedObject); // a json object, or xml, whatever... HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = data.Length; request.Expect = "application/json"; request.GetRequestStream().Write(data, 0, data.Length); HttpWebResponse response = request.GetResponse() as HttpWebResponse;

8

Когда вы делаете POST HttpWebRequest, необходимо указать длину данных, которые вы отправляете, что-то вроде:

String data = "something you need to send" byte postBytes = Encoding.ASCII.GetBytes(data); request.ContentLength = postBytes.Length;

если вы не отправлять какие-либо данные, просто установите его в 0, что означает, что вы просто нужно добавить в код строку:

Request.ContentLength = 0;

Обычно, если вы не отправлять какие-либо данные, они выбрали метод GET вместо мудрее, как вы можете видеть в HTTP RFC

1

Хотя обычно можно было бы ожидать, посылаемые данные с POST, было бы неправильно и плохая практика, чтобы использовать GET, когда вы * изменение * данных на сервере. Запрос POST должен избегать прокси-кэшей между клиентом и сервером. GET в порядке, если данные извлекаются с сервера без каких-либо изменений на сервере в результате запроса. - Michael 04 апр. 16 2016-04-04 04:57:58

1

System.Net.WebException: The remote server returned an error: (411) Length Required.

This is a pretty common issue that comes up when trying to make call a REST based API method through POST. Luckily, there is a simple fix for this one.

This is the code I was using to call the Windows Azure Management API. This particular API call requires the request method to be set as POST, however there is no information that needs to be sent to the server.

var request = (HttpWebRequest) HttpWebRequest.Create(requestUri); request.Headers.Add("x-ms-version", "2012-08-01"); request.Method = "POST"; request.ContentType = "application/xml";

To fix this error, add an explicit content length to your request before making the API call.

request.ContentLength = 0;

2

var requestedURL = "https://accounts.google.com/o/oauth2/token?code=" + code + "&client_id=" + client_id + "&client_secret=" + client_secret + "&redirect_uri=" + redirect_uri + "&grant_type=authorization_code"; HttpWebRequest authRequest = (HttpWebRequest)WebRequest.Create(requestedURL); authRequest.ContentType = "application/x-www-form-urlencoded"; authRequest.Method = "POST"; //Set content length to 0 authRequest.ContentLength = 0; WebResponse authResponseTwitter = authRequest.GetResponse();

Свойство ContentLength содержит значение для отправки в качестве Content-length HTTP заголовка с запросом.

Любое значение, отличное от -1 в ContentLength собственности указывает на то, что данные запроса загрузки и что только методы, которые загружать данные могут быть установлены в свойстве метода.

После того, как свойство ContentLength устанавливается в значение, то число байтов должны быть записаны в поток запроса, который возвращается посредством вызова метода GetRequestStream или как BeginGetRequestStream и EndGetRequestStream методы.

для более подробной информации нажмите

Данные коды (их еще называют http-статусы) посылаются веб-сервером хостинга в ответ на запрос пользователя, который идет через его браузер. Говоря проще, пользователь хочет зайти на определенный сайт и клацает ссылку в браузере. Браузер посылает запрос на сервер хостинг-провайдера, а тот ему в ответ посылает код, исходя из которого браузер делает определенное действие (показывает сайт\показывает ошибку\показывает не то, что запросил пользователь).

Коды 100-199

100 Continue

Сообщает о том, что сервер принял первую часть запроса, и можно продолжать посылать остальные части.

101 Switching Protocols

Сервер (по требованию браузера) переключил протоколы. Это задание передается серверу в заголовке Upgrade.

Коды 200-299

200 Ok

Сервер обработал запрос браузера (пользователя) и передал ему то, что он хотел. А пользователь должен увидеть сайт или файл, который запрашивал.

201 Created

Код сообщает, что сервером создан новый идентификатор URI. В ответе сервера (заголовок Location) можно найти место куда именно были помещены созданные данные.

202 Accepted

Сервер принял запрос, но будет обрабатывать его позже. К тому же, в конечном счете нельзя быть уверенным на 100%, что сервер обработает Ваш запрос. Ищите детальную информацию о причинах в сообщении, которое приходит вместе с кодом ошибки.

203 Non-Authoritative Information

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

204 No Content

Этот код показывает браузеру, что его запрос принят, но ответ на него пустой, и браузеру не нужно ничего делать. Чаще всего это происходит, когда пользователь клацает по пустому месту страницы или по картинке (без ссылки).

205 Reset Content

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

206 Partial Content

Сервер принял запрос и вернул только определенную часть данных, которые были запрошены. Какую именно часть нужно вернуть серверу, указывается в заголовке запроса пользователя Range. А сервер указывает это в своем ответе (смотрите заголовок Content-Range).

Коды 300-399

300 Multiple Choices

Код показывает, что один и тот же URL ведет к нескольким документам или страницам. Примером может служить одна и та же страница переведенная на несколько языков. Более подробно о причине ошибки, нужно узнавать в теле ответа сервера. Но чаще всего проблема кроется в заголовках или адресах объектов, и если указать их правильно, то ошибка исчезнет. Важно знать, что данная ошибка может вредить правильной индексации Вашего сайта поисковиками.

301 Moved Permanently

Пользователь запросил объект (страницу), который уже не используется сервером. А сервер в свою очередь перенаправляет пользователя на другую страницу, которая и отображается в браузере. Важно понимать, что поисковый робот перестанет индексировать исходную страницу, и вместо нее будет индексировать ту, на которую идет перенаправление. Этот способ чаще всего используется для редиректа - перенаправленния с одной страницы на другую. Для этого в файле.htaccess прописываем:

Redirect 301 /page1.html http://вашсайт.ru/page2.html

302 Moved Temporarily

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

303 See Other

Сообщение говорит о том, что запрошенный пользователем объект (страница) находится по другому адресу, и доступ к нему нужно получать GET-запросом. Новый адрес указывается в заголовке Location.

304 Not Modified

Этот код показывает, что страница не изменялась с определенного времени и браузер может использовать старую версию (которая скорее всего сохранена в его памяти). Это позволяет не загружать заново страницы, которые не подвергались изменению, что ускоряет время их загрузки. Также это позволяет ускорить индексацию сайта поисковыми роботами, сократить трафик и нагрузку на сервер.

305 Use Proxy

Доступ к объекту (странице сайта) может быть разрешен только с помощью proxy-сервера, адрес которого указывается в заголовке Location.

307 Temporary Redirect

Код почти идентичен 302 Moved Temporarily, но более валидный.

Коды 400-499

400 Bad Request

Сервер не понял запрос браузера пользователя из-за синтаксической ошибки.

401 Unauthorized

Эта ошибка сообщает, что для доступа к запрашиваемой странице нужно быть авторизованным.

402 Payment Required

Данный код очень редко используется, и означает скорее проблемы с конфигурацией сервера, чем проблемы с оплатой услуг.

403 Forbidden

Ошибка сообщает о том, что доступ к данной странице запрещен, или же сервер не может его предоставить.

404 Not Found

Объект (страница сайта), который хочет увидеть пользователь не найден. Обычна причина в том, что случайно удалена запрашиваемая страница, или же ее адрес введен не правильно.

405 Method Not Allowed

В запросе (строка Request-Line) указан такой метод, который не поддерживается сервером. Часто это происходит при отправке POST-данных на неправильную страницу. Соответственно, чтобы решить эту проблему проверьте правильность указанного пути (атрибут action).

406 Not Acceptable

Пользователь пытается посмотреть документ, который существует на сервере, но имеет кодировку\язык\формат, которые не поддерживаются у пользователя. В итоге нужно искать причину в заголовках Content-Language, Content-Encoding или Content-Type.

407 Proxy Authentication Required

Сообщает о том, что запрос proxy-сервера должен быть санкционирован (заголовок Proxy-Authenticate).

408 Request Time-out

Пользователь не передал полный запрос в течении какого-то времени (задается на сервере). И из-за этого сервер разорвал соединение с пользователем, передав ему ошибку 408. В данном случае нужно проверить настройки браузера и файервола, т.к. в большинстве случаев именно они являются корнем проблемы.

409 Conflict

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

410 Gone

Пользователь пытается посмотреть объект (страницу сайта), который не существует. Но раньше он существовал, и был навсегда удален с сервера.

411 Length Required

Запрос не будет принят сервером, пока не определится заголовок Content-Length.

413 Request Entity Too Large

Запрос передаваемый на сервер очень большой, поэтому сервер его не может обработать. Все подробности нужно смотреть в содержании ответа, т.к. там и кроется причина данной ошибки.

414 Request URL Too Long

URL который запрашивает пользователь слишком длинный, поэтому сервер не может его обработать. Для решения проблемы проверьте правильность URL и его длинну, а также обратите внимание на атрибут Request-URI.

415 Unsupported Media Type

Сервер не поддерживает формат запроса пользователя, поэтому не может его обработать.

416 Requested Range Not Satisfiable

Сервер не сможет выполнить запрос, пока значение поля Range не станет корректным (задается в байтах).

417 Expectation Failed

Обычно эта ошибка возникает из-за того, что значение поля запроса Expect является некорректным.

422 Unprocessable Entity

Одна или несколько частей не могут быть обработаны сервером.

423 Locked

Запрашиваемый объект (страница сайта) заблокирован.

424 Failed Dependency

Один из ресурсов (зависимых) недоступен или блокирован, поэтому сервер не может дать доступ к нему.

426 Upgrade Required

Сервер принял запрос по стандартному соединению, но запрашивает SSL-соединение, которое не поддерживается клиентом. В итоге сервер выдает ошибку 426.

Коды 500-599

500 Internal Server Error

Данный код сообщает, что на сервере произошла внутренняя непредвиденная ошибка или аварийный отказ.

501 Not Implemented

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

502 Bad Gateway

Браузер пользователя послал запрос к серверу, но тот связан с еще несколькими серверами, между которому происходит цепочка переадресации запроса. Где-то в этой цепочке сервер не смог обработать запрос, и первый в цепочке сервер (который принял Ваш запрос) послал Вам код ошибки 502.

503 Service Unavailable

Эта ошибка означает, что сервер временно перестал работать. Как правило это происходит если он находится в состоянии перезагрузки или отключен на временное обслуживание. Если вместе с сообщением об ошибке пришел параметр Retry-After, то его значение и будет тем временем, через которое сервер должен восстановить работу.

504 Gateway Time-out

Сервер (который принял запрос от пользователя) может находиться в цепочке серверов и передает запросы к конечному серверу, который их обрабатывает. В случае с ошибкой 504 первый сервер не получил ответ от вышестоящего сервера и отправил Вам сообщение об этом.

505 HTTP Version not supported

Пользователь отправил серверу запрос с версией http-протокола, который не поддерживается.

507 Insufficient Storage

Места на диске недостаточно, и сервер не может обработать запрос пользователя. Или освободите место самостоятельно, или обратитесь в службу поддержки, т.к. в случае с виртуальным хостингом (или VPS) на Вашем сервере находятся еще и сайты других пользователей, удалить которые Вы не сможете.

510 Not Extended

Расширение запрашиваемого файла не поддерживается или отсутствует.

Мониторинг сайтов — система инструментов, позволяющая отслеживать работоспособность вашего сайта или сервера. Система производит периодическую проверку сервера по заданным параметрам и сообщает о выявляемых ошибках, а вы получаете своевременные уведомления об изменениях.

Зачем нужен мониторинг сайтов?

Вы можете проверять доступность любого сайта через определённые настраиваемые периоды времени. Результаты проверки будут отправляться на указанный e-mail и по SMS. Помимо всего прочего, в платной версии вы сможете контролировать позицию вашего сайта в поисковой выдаче (Топ-10) по определённому ключевому запросу.
Статистика мониторинга

Как заказать Мониторинг сайтов?

Чтобы начать пользоваться услугой, перейдите в раздел . На открывшейся промостранице услуги нажмите Попробовать бесплатно , если хотите в течение одного месяца использовать бесплатный тариф с ограниченным функционалом.

Чтобы заказать платную версию услуги:

  1. 1 Авторизуйтесь на сайте сайт и перейдите в раздел .
  2. 2 На открывшейся странице нажмите Заказать
  3. 4

    Опционально: подключите дополнительный пакет SMS-уведомлений.

    Обратите внимание! Пакет дополнительных SMS-уведомлений не удаляется и средства за него не возвращаются.

  4. 5 Нажмите Заказать .
  5. 6 Оплатите выставленный счёт .

Готово! Услуга «Мониторинг сайта» будет заказана.

Преимущества платной версии Мониторинга сайтов

SMS-уведомления SMS-уведомления на номер мобильного телефона, активированный в Личном кабинете на сайте сайт.

Отслеживание позиции в поисковых системах Позволяет отслеживать нахождение вашего сайта в топ-10 в поисковой выдаче по желаемому ключевому запросу.

Приобретение дополнительныx пакетов для SMS-уведомлений Возможность приобрести дополнительные пакеты для SMS-уведомлений и регулировать количество необходимых вам мониторов.

Cокращённый интервал проверки доступности сайта Возможность сократить интервал проверки доступности сайта с одного часа до минуты.

Как перейти с бесплатной версии мониторинга на платную?

Для того чтобы перейти с бесплатной версии на платную:

  1. 1 Авторизуйтесь на сайте и перейдите к .
  2. 2 Кликните по названию услуги и на открывшейся странице нажмите Изменить тариф .
  3. 3 Выберите количество мониторов и срок заказа услуги.
  4. 4 Нажмите Заказать .

Как продлить Мониторинг сайтов?

Продление услуги по тарифу «Пробный» невозможно. Для того чтобы продлить услугу Мониторинг сайтов по тарифу «Коммерческий», выполните следующее:


После продления приостановленной услуги вам необходимо самостоятельно включить мониторы в настройках услуги.

Настройка Мониторинга сайтов

Использование мониторов

Монитор — средство обращения к определённому сайту по заданным настройкам. По умолчанию в рамках услуги «Система мониторинга сайтов» предоставляется пять мониторов. Для того чтобы добавить новый монитор, в панели управления услугой выберите Добавить монитор . На открывшейся странице в поле «Название монитора» укажите удобный для вас идентификатор данного монитора. В поле «URL сайта» добавьте адрес интересующего вас сайта.

  • проверка доступности сайта;
  • проверка наличия заданной строки на проверяемой странице;
  • отслеживание позиции сайта в поисковых системах.

Вы можете установить свои настройки для каждого монитора.

Проверка доступности сайта

Проверка доступности сайта представляет собой GET-запрос по URL проверяемого сайта. Если возвращается код ошибки, монитор отправляет уведомление на e-mail и SMS (при подключенных SMS-уведомлениях и наличии неизрасходованных SMS). Уведомления отправляются, как только сайт стал недоступен. Затем, если он в течение пяти часов по-прежнему будет недоступен, вы получите новое уведомление. Как только сайт снова станет доступен, вам на e-mail или по SMS придёт соответствующее сообщение.

Вы можете установить интервал проверки вплоть до минуты.

Проверка наличия заданной строки на проверяемой странице

Данный тип проверки показывает наличие в исходном коде запрашиваемой строки, которая вводится в текстовом поле «Искомая строка». Исходный код страницы сайта можно посмотреть, нажав на ней комбинацию клавиш «Ctrl» + «U» . Уведомления отправляются в тот момент, когда система не находит строку на сайте.

Период тестирования

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

Для монитора «Отслеживание позиции сайта в поисковых системах» период тестирования изменить невозможно.

Дополнительные настройки

Установленная галочка «Плановые отключения» отключает проверку доступности интересующих вас сайтов на определённые дни, которые вы можете выбрать в виджете календаря. Это может понадобиться, например, в случае работ на сервере, DDoS-атак и пр.

В разделе «Уведомления» вы можете подключить или отключить уведомления по электронной почте, добавить новый e-mail для оповещений, а также SMS-уведомления о недоступности сайтов для конкретного монитора.

К настройкам монитора всегда можно вернуться из панели управления мониторами в пункте «Настройки». По окончании настройки необходимо нажать Создать монитор .

Удаление и приостановка работы монитора

Для того чтобы отключить ранее созданный монитор, переведите переключатель в разделе «Состояние» в положение «OFF». После этого вы получите сообщение «Сбор данных приостановлен» .

Чтобы удалить ранее созданный монитор в Личном кабинете, в разделе , кликните по услуге Мониторинг сайтов по тарифу «Коммерческий» и перейдите в панель управления услугой. На мониторе, который хотите удалить, нажмите Удалить .

Статистика услуги Мониторинг сайтов

Сводная статистика

В данном отчёте можно посмотреть статистику работоспособности сайта за периоды от одного дня до года. Также вы можете посмотреть отчёт о работоспособности сайта за определённый период, нажав на Показать за период и выбрав даты запрашиваемого периода в иконке календаря. Отчёты можно сохранять в pdf-файл с помощью Сохранить в файл . Значение Uptime указывает на общее время доступности сайта за запрашиваемый период. Значение «Отказов» указывает на общее время недоступности. Поля Total Uptime и «Отказ» предназначены для оценки доступности сайтов с момента заказа услуги по настоящее время.

Подробный отчёт

В данном отчёте можно выбрать географическое местоположение сервера, с которого производилась проверка, результат проверки «ОК» или «Отказ». Поле «Размер» говорит о размере полученных от сервера данных. Поле «Время ответа» говорит о времени ответа на запрос от сервера.

Экспресс-проверка

Экспресс-проверка — это проверка состояния доступности интересующего вас сайта на текущий момент времени. Результаты проверки доступны в разделе «Посмотреть отчёты». Для каждого монитора, согласно тарифному плану, предоставляется три экспресс-проверки в сутки.
Экспресс-проверка

Для монитора «Отслеживание позиции в поисковых системах» данный тип проверки не предусмотрен, поскольку позиция проверяется один раз в сутки и время проверки не фиксировано.

Сводная статистика монитора «Отслеживание позиции в поисковых системах»

В сводной статистике монитора «Отслеживание в поисковых системах» отображается график изменения позиций вашего сайта в поисковой выдаче. Зелёный столбец графика означает, что позиция сайта в поисковой системе выросла, красный — упала. Серый столбец на графике означает, что сайт находится не в Топ-10 поисковой выдачи. Вы можете просмотреть график и отчёты за определённый период времени: неделю, месяц, год. В таблице отображается информация о дате проверки, поисковой системе, позиции и регионе проверки (для поисковой системы «Яндекс»). Позиция сайта в течение дня может изменяться несколько раз в день.

У вас также есть возможность сохранять отчёты в pdf-файл для дальнейшего анализа.

SMS-уведомления для Мониторинга сайтов

По умолчанию на платном тарифе услуги «Система мониторинга сайтов» доступно 50 SMS-уведомлений, но в процессе заказа вы можете установить галочку «Пакет дополнительных SMS-сообщений» и в выпадающем меню выбрать количество SMS в пакете. SMS-уведомления подключаются/отключаются в настройках создаваемого вами монитора через чекбокс «Получать SMS-уведомления».

По умолчанию используется номер телефона, активированный в Личном кабинете.

Если по каким-то причинам у вас закончился пакет SMS, вы сможете пополнить его из Личного кабинета.

Чтобы подключить дополнительные уведомления:

  1. 1 Авторизуйтесь на сайте сайт и перейдите к списку заказанных услуг.
  2. 2 Кликните по услуге Мониторинг сайтов по тарифу «Коммерческий».
  3. 3 нажмите Пакет дополнительных SMS .
  4. 4 В открывшемся всплывающем окне выберите количество SMS в пакете и нажмите Заказать .
  5. 5 Оплатите выставленный счёт .

Готово! Дополнительные SMS-уведомления будут подключены.

Коды ошибок в сервисе Мониторинг сайтов

    «400 Bad Request» . Ошибка означает, что сервер обнаружил в запросе клиента синтаксическую ошибку;

    «401 Unauthorized» . Этот код результата, передаваемый с заголовком WWW-Authenticate, показывает, что пославший запрос пользователь не имеет необходимых полномочий, и что при повторении запроса с указанием данного URL пользователь должен такие полномочия предоставить;

    «402 HTTP Payment Required» . Этот код в HTTP еще не реализован;

Мы часто говорим, ошибка 404, ошибка 403, 301, ошибка 503 и друг друга отлично понимаем. И примерно понимаем, что нужно делать в данной ситуации. Данная статья направлена на тех, кто только начинает во всё этом разбираться, чтобы мы все могли говорить на одном языке.

Что такое код ответа сервера

На каждый запрос пользователя сервер дает определенный ответ. На стороне пользователя браузер анализирует этот ответ и понимает, что делать дальше: прогружать страницу сайта, давать запрет на доступ, или перенаправлять пользователя на .

Именно по кодам ответа ищутся на сайте . Это самый простой и надежный способ.

Какие бывают коды ответа

Коды ответа делятся по числовым значениям

  • 1xx — Информационный ответ
  • 2xx — Успешная обработка запроса
  • 3xx — Переадресация (редиректы постоянные и временные)
  • 4xx — Ошибки выполнения запроса
  • 5xx — Ошибки сервера

Информационные ответы (1xx):

  • 100 Continue
    Часть запроса принята, можно отправлять следующую часть запроса. Часто даже не выделяется отдельно. Код говорит серверу — ОК, работаем дальше, всё идет по плану!
  • 101 Switching Protocols
    Сервер производит переключение протоколов в соответствии с заголовком Upgrade. Пользователя это никоим боком не касается. Про этот код ответа можете забыть 🙂

Успешная обработка запроса (2xx):

  • 200 OK
    Запрос обработан успешно. Самый главный код. Именно он дает команду браузеру производить загрузку страницы. Говорит, что всё хорошо с запросом, он успешно обработан.
  • 201 Created
    Данный код используется когда происходит создание нового URI. Вместе с кодом сервер посылает заголовок Location с адресом нового URI. Например при поиске или фильтрации может возвращаться этот код.
  • 202 Accepted
    Запрос принят и обрабатывается. В теле ответа как правило содержится дополнительная информация.
  • 203 Non-Authoritative Information
    Ответ означает, что информация получена из ненадежного источника (например, с другого сервера). Иногда этим пользуются злоумышленники, поэтому при наличии 203 кода следует проверить сайт на вирусы.
  • 204 No Content
    Запрос обработан, но в ответ ничего не возвращается. Как правило используется если в ответ на запрос не нужно обновлять содержимое документа. Чисто технический момент, на него не обращайте внимания
  • 205 Reset Content
    Означает, что содержимое документа должно быть сброшено в начальное состояние. Обычно используется при очистке форм ввода данных. Похож на 204 код, но тут нужно перезагружать документ.
  • 206 Partial Content
    При данном ответе возвращается лишь часть данных. Обычно используется если клиент запросил часть данных с использованием заголовка Range. Тесно связан с процессом кэширования.

Переадресация (3xx):

  • 300 Multiple Choices
    Означает, что существует несколько вариантов запрашиваемой страницы. Например, сайт, переведенный на несколько языков и пользователю предложены варианты выбора. В теле содержимого могут возвращаться данные для выбора правильного ресурса.
  • 301 Moved Permanently
    Затребованный URI уже не используется сервером, и указанная в запросе операция не выполнена. Новое местонахождение затребованного документа указывается в заголовке Location файла.htaccess. Во всех последующих запросах данного документа следует указывать новый URI. Очень важный код ответа, с помощью которого можно избавиться от и сменить адреса страниц на новые без потери позиций и веса.
  • 302 Moved Temporarily
    Затребованный URI перемешен, но лишь временно. Заголовок Location файла.htaccess указывает на новое местонахождение. После получения этого кода ответа клиент получает документ по новому адресу, а во всех последующих запросах — по старому.
  • 303 See Other
    Затребованный URI можно найти по другому адресу, указанному в заголовке Location файла.htaccess. Его следует выбрать методом GET по данному ресурсу.
  • 304 Not Modified
    Данный код ответа возвращается если был запрос lf-Modified-Since, и документ не изменялся с указанной даты. Тело документа не посылается, а клиент должен использовать локальную версию документа.
  • 305 Use Proxy
    Доступ к документу должен осуществляться через proxy-сервер, адрес которого указан в Location.

Ошибки выполнения запроса (4xx):

  • 400 Bad Request
    Любая синтаксическая ошибка в строке запроса.
  • 401 Unauthorized
    Этот ответ, передаваемый с заголовком WWW-Authenticate, означает, что пользователь не имеет достаточных прав для просмотра документа. Как правило эта ошибка появляется, если для просмотра документа нужна авторизация пользователя, а пользователь не авторизован, например, через связку htaccess-htpasswd.
  • 402 Payment Required
    Этот код ответа еще не реализован, но название говорит само за себя. Используется несколькими популярными сервисами (в частности, youtube), чтобы защититься от спама с конкретного IP адреса.
  • 403 Forbidden
    Запрос клиента отклонен по какой-либо причине. Чаще всего, когда страница находится в закрытом разделе с ограниченным доступом.
  • 404 Not Found
    . Наверное это самая распространенная ошибка сервера. Возникает, когда документ был удален или допущена ошибка в адресе документа.
  • 405 Method Not Allowed
    Означает, что метод, используемый клиентом, не поддерживается. Например, при попытке отправить POST — данные документу, который не является скриптом.
  • 406 Not Acceptable
    Ресурс существует, но в другом формате, например, может различаться язык документа. Вместе с этим кодом сервер возвращает заголовки Content-Language, Content-Encoding и Content-Type.
  • 407 Proxy Authentication Required
    Proxy-сервер должен санкционировать запрос перед тем, как пересылать его. Используется с заголовком Proxy-Authenticate.
  • 408 Request Time-out
    Сервер разорвал соединение из-за превышенного таймаута. Этот код ответа означает, что клиент не передал полный запрос в течение некоторого установленного промежутка времени (который задается в конфигурации сервера) и сервер разрывает сетевое соединение. Как правило это происходит при плохом качестве связи, при передачи больших объемов данных серверу, при очень низкой .
  • 409 Conflict
    Данный запрос конфликтует с другим запросом или с конфигурацией сервера. Информация о конфликте обычно возвращается в информационной части ответа. Можно почитать и быстро устранить.
  • 410 Gone
    Запрошеный документ навсегда удален с сервера.
  • 411 Length Required
    Пропущено необходимое поле в заголовке запроса Content-Length.
  • 412 Precondition Failed
    Не выполнено условие, указанное в заголовке.
  • 413 Request Entity Too Large
    Слишком большой запрос.
  • 414 Request-URI Too Long
    Слишком длинный URL в запросе. Часто возникает при GET фильтрации данных в многоуровневых фильтрах. Поэтому на этапе разработки сайта следует подумать, а может лучше фильтровать данные через POST, генерируя потом уникальную . Ведь данные в POST могут передаваться в огромном количестве (зависит от параметра в php.ini)
  • 415 Unsupported Media Type
    Сервер не поддерживает указанный формат данных. Не поддерживает и не собирается. Всё, точка.
  • 416 Requested Range Not Satisfiable
    Сервер сообщает — форма запроса (требуемый диапазон) не выполнима.
  • 417 Expectation Failed
    Время ожидания истекло.

Ошибки сервера (5xx):

  • 500 Internal Server Error
    Внутренняя ошибка сервера. Ошибка выполнения скрипта, ошибка в файле.htaccess и т.д. Легко обнаруживается в логах веб-сервера. Исправляется программистами 🙂
  • 501 Not Implemented
    Недопустимое действие.
  • 502 Bad Gateway
    Недопустимый ответ с другого ресурса.
  • 503 Service Unavailable
    Данный код означает, что указанный сервис временно недоступен, если известно время восстановления работы, то может быть передан заголовок Retry-After. Часто возникает из-за перегрузок сервера на слабых хостингах.
  • 504 Gateway Time-out
    Превышен таймаут ожидания от другого ресурса.
  • 505 HTTP Version not supported
    Данная версия протокола HTTP не поддерживается сервером.

Что делать при возникновении ошибок

Некоторые ошибки являются временными (например, 503), а некоторые делают работу сайта невозможной.

Узнайте всё о различных ошибках в браузере и о том, как на них правильно реагировать.

Народная мудрость гласит, что не ошибается лишь тот, кто только сидит на печи... Различного рода ошибки сопровождают нас практически везде. Не является исключением и любимый всеми Интернет. То при попытке зайти на нужный сайт браузер нам выдаст ошибку сервера, то скажет, что такой страницы не существует, а то вообще заявит, что у нас нет соединения!

Ошибок, которые может выдавать браузер, существует довольно много, поэтому нам, как пользователям, важно различать их и адекватно на них реагировать. Собственно, этому вопросу и будет посвящена сегодняшняя статья.

Основные причины и типы ошибок

Все ошибки, которые выдаёт нам браузер, можно разделить на несколько групп:

  1. Ошибки Интернет-соединения . Наиболее распространённой ошибкой данного типа является "Попытка подключения не удалась" или "Не удаётся получить доступ к сайту" (текст зависит от Вашего браузера). Такая ошибка появляется в двух случаях: либо сервер запрашиваемого Вами сайта вообще не работает, либо у Вас не работает подключение к Интернету. В первом случае другие сайты у Вас будут открываться и можно будет попытаться открыть нужный веб-ресурс спустя какое-то время (когда восстановится работа сервера). Во втором же случае Вы не сможете открыть ни единой странички вообще и это будет означать, что проблемы либо у Вас, либо у Вашего провайдера. Такой вариант ошибки часто сопровождается уведомлением в трее: "Сетевой кабель не подключён".
  1. Ошибки запроса . Эта группа ошибок включает в себя целый ряд всевозможных ответов сервера на неверно сформированный запрос. Чаще всего такой ошибочный запрос формируем мы сами, пытаясь ввести адрес несуществующей страницы. Стандартным ответом сервера на такой запрос будет ошибка 404 "Страница не найдена". Данный вид ошибок случается настолько часто, что в сфере разработки сайтов уже стало традицией оригинально оформлять специальную страницу, которая выдаётся при возникновении 404 ошибки, чтобы помочь пользователю найти искомую или похожую информацию, либо просто развлечь. Однако, кроме ошибки 404 существует ещё целый ряд возможных ошибок, начинающихся с кода 400. О них мы поговорим чуть позже.

  1. Ошибки сервера . Если Ваш запрос не доходит до запрошенного веб-узла, либо успешно достигает сервера, но не может быть им обработан, возникают ошибки с кодом, начинающимся на 500. Наиболее распространёнными вариантами таких ошибок сервера являются: 502 Bad Gateway, 503 Service Unavailable или 504 Gateway Timeout. Чаще всего такие ошибки означают то, что запрошенный Вами веб-ресурс временно или постоянно недоступен и не требуют никаких действий с Вашей стороны.

Кроме вышеупомянутых ошибок, сервер может выдавать ещё ряд кодов состояния, начинающихся с чисел 100 (информационные сообщения), 200 (коды успешной обработки запроса) и 300 (коды перенаправлений). Эти коды состояния, как правило, не визуализируются в браузере, однако могут быть просмотрены в заголовках ответов при использовании инструментария разработчиков браузера. Кстати, нормой считается ответ 200 OK или 301 Moved Permanently с корректным перенаправлением на новый адрес страницы:

Предлагаю рассмотреть наиболее популярные ошибки и ответы сервера немного подробнее.

Ошибка 404 Not Found и другие

Как уже было сказано выше, наиболее частой ошибкой, которую видит пользователь в браузере, является 404 Not Found . Это корректный ответ сервера в случае, если Вы запросили несуществующую страницу. Это может случится как по Вашему недосмотру (например, при ручном вводе адреса), так и по вине администрации посещаемого Вами сайта (например, страница была перемещена, но для неё не было прописано никаких правил перенаправления).

В любом случае, если Вы видите страницу 404 или 400 Bad Request, первым делом внимательно проверьте правильность адреса в адресной строке. Часто бывает, что даже в ссылках, по которым Вы переходите, закрадываются ошибки, которые видны с первого взгляда и могут быть сразу же исправлены:

  • отсутствующий или неправильно указанный протокол перед адресом сайта (должно быть "http://");
  • отсутствующий или неверно заданный формат веб-страницы (обычно, ".php", ".html" или ".htm", хотя, формат может быть и не указан, если заданы соответствующие настройки сервера и адрес завершается символом "/");
  • дублирующийся фрагмент адреса (например, два раза под ряд указана категория или имя страницы);
  • пропущенные или неверные символы (самая коварная ошибка, которую бывает трудно распознать, особенно, если в качестве ошибок фигурируют цифра "0" и буква "o" или английская и русская "c").

Если ни один из вариантов выявления ошибок Вам не помог, Вы вполне можете воспользоваться подсказками, которые владельцы сайта дают на этой же самой странице 404: поиск по сайту, похожие статьи и т.п. Например, на нашем сайте выгладит так:

Однако, не только 404 ошибка часто попадается на глаза. Среди второй по популярности можно назвать ошибку 403 Forbidden и её вариант 401 Unauthorized . Возникают данные ошибки, как нетрудно догадаться, вследствие попытки пользователя получить доступ к определённой закрытой информации, которая требует для отображения авторизации на веб-ресурсе.

Страница 403 на многих сайтах тоже оформляется в виде различных креативных решений и может содержать ссылки на главную страницу, форму авторизации или регистрации. В любом случае обойти ошибку 403 без регистрации на сайте не удастся.

Некоторые серверы могут возвращать ошибку 414 Request-URL Too Long . Возникает она тогда, когда длина адреса запрашиваемого ресурса (со всеми GET-параметрами) превышает определённый лимит количества символов (обычно 128 или 256).

Попробовать избежать подобной ошибки можно, убрав в адресной строке все символы, идущие после знака вопроса (включая сам знак). Например, из адреса типа: "https://www.site.name/page.php?name=Vasya&lastname=Pupkin " нужно сделать URL вида: "https://www.site.name/page.php ". Правда, если авторизация на таком сайте происходит через передачу GET-параметров, то мы можем получить вышеупомянутые ошибки 401 или 403:).

Ошибка 500 Internal Server Error и другие

Различных ошибок на клиентской стороне существует гораздо больше, нежели описано выше, но на практике они почти не встречаются. Зато сплошь и рядом случаются серверные ошибки... Все они имеют коды, начинающиеся числом "500", а сама ошибка 500 Internal Server Error может означать любой сбой сервера и встречается наиболее часто.

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

Всё, что мы можем попытаться сделать для устранения ошибки - обновить страницу с очисткой кеша (в большинстве браузеров нужно нажать на кнопку обновления страницы с зажатым SHIFT или нажать клавишу F5). Если это не помогает, можно попробовать удалить куки и прочие временные файлы (проще всего программой CCleaner). Гарантии восстановления работоспособности сайта это не даст, но зато Вы будете точно знать, что проблема не у Вас.

Кроме ошибки 500 сервер может выдать и более информативные коды. Наиболее часто в данной группе встречаются ошибки 502 Bad Gateway, 503 Service Unavailable и 504 Gateway Timeout. 503 ошибка, увы, особо ситуацию не проясняет, зато ошибки 502 и 504 уже являются более конкретными.

При возникновении ошибки 502 Bad Gateway мы можем констатировать, что в цепочке серверов, отвечающих на наш запрос, где-то наблюдается сбой. Соответственно мы можем попытаться зайти на нужный нам сайт по другой цепочке, воспользовавшись анонимайзером или VPN -подключением.

Ошибка 504 Gateway Timeout возникает при превышении лимита времени ожидания сервера. Чаще всего это сугубо серверная ошибка, на которую мы повлиять не можем. Однако, если Вы умышленно передаёте серверу какой-либо сложный запрос и получаете такой код ответа, то Вам следует упростить URL и попытаться снова.

Ответ 301 и другие

Ошибки клиента и сервера, которые имеют номера 4хх и 5хх практически всегда визуализируются браузером. Однако, это далеко не все возможные ответы сервера. Сотые, двухсотые и трёхсотые коды, как правило, не отображаются, но на их основе браузер может определять своё дальнейшее поведение.

Наиболее показательным в данном контексте является ответ 301 Moved Permanently . Он относится к ответам перенаправления (трёхсотые) и сообщает браузеру, что запрашиваемая им страница была навсегда перемещена по новому адресу. Если адрес задан верно, то веб-обозреватель автоматически перейдёт по выданной сервером ссылке. Если же нет, то выдаст такую ошибку:

Не зная нового адреса, попасть на нужную страницу мы можем, разве что, воспользовавшись поиском по сайту (если он есть).

Вообще 301 редирект (как ещё принято называть данный ответ сервера) играет очень важную роль в вебе. Например, он учитывается поисковыми системами при ранжировании и позволяет перенести весь "вес" страницы на любой новый адрес. Эту возможность использует большинство современных сайтовых движков для правильного оформления ЧПУ .

Наряду с ответом 200 OK , который сообщает об успешной загрузке страницы, 301 Moved Permanently является одним из допустимых успешных ответов сервера. Кроме того, об успехе выполнения запроса свидетельствуют практически все двухсотые ответы (за исключением 204 No Content, который считается успешным, но не возвращает никакого содержимого), а также ряд трёхсотых:

  • 302 Moved Temporarily (или 302 Found) (временное перемещение);
  • 303 See Other (ссылка на другую страницу);
  • 307 Temporary Redirect (временный редирект).

Кроме того, существует небольшая группа сотых ответов, которая называется информационной . Информационные ответы 100 Continue, 101 Switching Protocols и 102 Processing просто дают браузеру команду продолжать работу в текущем режиме, переключить протокол или подождать завершения обработки запроса, соответственно. Эти коды никак не визуализируются, но знать о них всё же не помешает:)

Выводы

Ошибок страниц и ответов сервера существует довольно большое количество, но знать их все необязательно (достаточно просто понимать их природу). Гораздо важнее запомнить, что можно сделать, чтобы получить доступ к нужным страницам. И здесь вариантов не так уж много:

  • убедиться, что у Вас есть доступ в Интернет (попробовать открыть другие сайты);
  • проверить правильность нужного адреса;
  • авторизироваться (или зарегистрироваться) на сайте (если выдаётся ошибка доступа);
  • обновить страницу (возможно с зажатым SHIFT"ом для сброса кеша);
  • удалить куки и временные файлы (средствами браузера или сторонних утилит);
  • воспользоваться поиском по сайту (если сам сайт доступен).

Вот и все премудрости:) Успешного и безошибочного Вам Интернет-сёрфинга!

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.