Разница между HTTP и HTTPS. Самые распространенные ошибки http и способы их устранения

28.04.2019

Может возникнуть ошибка «http». Многие после этого начинают анализировать свои последние действия, произведённые в WordPress, но большинство просто ума не приложат, что произошло, ведь ничего «плохого» вроде не делалось. Если просмотреть ответы в интернете на вопрос «почему выдает ошибку http при загрузке изображений», то можно найти несколько рекомендаций, которые способны устранить эту ошибку.

Рекомендации, которые помогут устранить ошибку при загрузке изображений «http»

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

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

Тут также заметим, что не всегда рационально обновляться до версии, которая только-только вышла.

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

Четвертый совет – добавить в файл.htaccess такой код:

SecFilterEngine Off
SecFilterScanPOST Off

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



SecFilterEngine Off
SecFilterScanPOST Off

Заметим, что если уже такой код у вас есть в файле, то его потребуется переписать, то есть заменить новым. Попробуйте выполнить загрузку медиафайла сейчас; более того, загружать файлы вы сможете в неограниченном количестве. Мы неоднократно замечали, что в одном случае, если вставить код в начало файла, то все будет работать; при вставке кода на другом сайте в начало файла ничего не срабатывало, но все начинало работать, как только код был перемещен в конец файла.

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

Еще одна рекомендация – установка плагина WPupload, которая заменяет по дефолту загрузчик WordPress на новый (он поддерживает HTML5, Flash, BrowserPlus и т.п.). Впрочем, новый плагин может добавить и новых проблем на сайте, но, во всяком случае, он устранит эту ошибку при загрузке изображений «http».

Из всего вышесказанного следует простой вывод: если хотите, чтобы ваш сайт стабильно работал, не спешите с . Новая версия хоть и обещает быть более функциональной и безопасной, но сторонние разработчики не всегда успевают оптимизировать под новые версии свои продукты (из-за этого и может выскакивать ошибка «http»).

Адресная строка в браузерах чаще всего внимания не привлекает, если не требуется перейти по ссылке, скопированной откуда-то в буфер обмена. Иногда мы смотрим туда, чтобы удостовериться в верности перехода, особенно это касается случаев с быстрым и нечестным редиректом. Но если все же смотрим, то порой замечаем необычное состояние: висит какой-то замочек, цвет шрифта другой, а вместо привычного http:// видим почему-то https://. Сразу и не понять, то ли занесло куда-то, то ли что-то в мире изменилось, то ли память подводит. Попробуем разобраться.

Определение

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

HTTPS — расширение протокола HTTP, поддерживающее шифрование по протоколам SSL и TLS.

Сравнение

Разница между HTTP и HTTPS заметна уже из определений. HTTPS — не самостоятельный протокол передачи данных, а HTTP с надстройкой шифрования. В этом ключевое и единственное отличие. Если по протоколу HTTP данные передаются незащищенными, то HTTPS обеспечит криптографическую защиту. Используется это там, где авторизация ответственна: на сайтах платежных систем, почтовых сервисах, в социальных сетях.

Если данные не защищены по SSL, то запущенная в недобрый момент программа-перехватчик позволяет воспользоваться ими злоумышленнику. Технически реализация HTTPS несколько сложнее: для этого защищаемый сайт должен иметь в пользовании сертификат сервера, который пользователь принимает или не принимает. Такой сертификат устанавливается на сервер, обрабатывающий соединения. Шифруются и данные, полученные клиентом, и данные, полученные от него. Для проверки, тот ли клиент их получает и предоставляет, используются ключи шифрования.

Еще одно техническое отличие — в портах, используемых для доступа по протоколу HTTP и HTTPS. Первый обычно взаимодействует с портом 80, второй — с портом 443. Открыть для тех же целей другие порты может администратор, но совпадать они никогда не будут.

Выводы сайт

  1. HTTP — непосредственно протокол передачи данных, HTTPS — расширение этого протокола.
  2. HTTPS используется для защищенного посредством шифрования обмена данными.
  3. HTTPS применяется в том числе и для авторизации на серверах, требующих повышенного внимания к безопасности данных.
  4. HTTP работает с портом 80, HTTPS — с портом 443.

В связи с массовым переходом сайтов на HTTPS перед разработчиками и администраторами сайтов встал ряд новых проблем. Одной из них является редирект с HTTP на HTTPS и необходимость правильно обрабатывать переадресацию на канонический адрес сайта, чтобы избежать дублирования контента.

HTTPS и редиректы

Рассмотрим пример. Допустим, что у нас есть сайт dnsimple.com . Его канонический URL-адрес — https://dnsimple.com . Тем не менее, существует четыре различных способа, с помощью которых можно подключиться к сайту, и нужно обеспечить, чтобы при любом из них пользователь перенаправлялся на https://dnsimple.com :

Исходный способ Тип
http://dnsimple.com HTTP + no-www
https://dnsimple.com HTTPS + no-www
http://www.dnsimple.com HTTP + www
https://www.dnsimple.com HTTPS + www

Настройка htaccess редиректов HTTP на HTTPS часто является причиной путаницы. Не всегда понятно, как правильно обрабатывать через HTTPS редиректы с WWW на не-WWW (или наоборот ), и почему для этого нужен сертификат SSL / TLS . Чтобы правильно настроить эти перенаправления, необходимо понять основные принципы обработки запросов HTTPS .

Далее мы рассмотрим, в каком порядке устанавливается соединение по протоколу HTTPS , как происходит обработка HTTP-запросов и настройка редиректов с поддержкой HTTPS .

Поток запроса HTTPS

На приведенном выше изображении показана схема прохождения запросов / ответов HTTPS . Для простоты мы разбили все действия на три фазы:

  1. На первом этапе клиент и сервер договариваются о деталях шифрования, таких как протокол шифрования и набор шифров. Также происходит обмен информацией, необходимой для переключения на защищенное соединение: открытые ключи, сведения о сертификате и т.д. Эта фаза называется «SSL / TLS рукопожатие »;
  2. На втором этапе клиент готовит HTTP-запрос , шифрует его и отправляет на сервер для обработки. Сервер принимает зашифрованный HTTP-запрос , расшифровывает его, обрабатывает и выдает HTTP response (ответ );
  3. На третьем этапе, сервер шифрует ответ и отправляет его клиенту для обработки. Клиент получает зашифрованный HTTP response , дешифрует и обрабатывает его (например, браузер начинает загружать и отображать элементы ).

Эта схема потока редиректа с HTTP на HTTPS применима к любому запросу, независимо от содержимого ответа HTTP .

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

HTTPS-согласования и редиректы

Одна из самых распространенных ошибок при настройке HTTPS-редиректов — это предположение, что вам не нужен сертификат SSL при переадресации клиента с одного домена на другой.

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

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

Не забывайте, что редирект — это HTTP-ответ с кодом 301 (иногда 302 или 307 ):

HTTP/1.1 301 Moved Permanently Server: nginx Date: Mon, 01 Aug 2016 14:41:25 GMT Location: https://dnsimple.com/

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

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

Если нужно перенаправить клиента с любой страницы домена https://www.example.com на другую, необходим установленный на сервере валидный сертификат SSL , который распространяется на весь домен www.example.com .

Например, чтобы перенаправить клиента с https://www.example.com на https://example.com , необходимо иметь сертификат, который распространяется на оба или два отдельных сертификата (для каждого хоста соответственно ).

Стратегии HTTPS-редиректов

Мы рассмотрели, как обрабатывается редирект с HTTP на HTTPS через htaccess после SSL / TLS согласования. А также выяснили, что для перенаправления клиентов с сайта или страницы на HTTPS нужен валидный сертификат SSL , который охватывает оба домена. Далее я расскажу об общих стратегиях настройки HTTPS-редиректов .

Существует два типа настройки редиректов с HTTPS :

  1. Редирект на уровне сервера;
  2. Редирект на уровне приложений.

Термин сервер обозначает любой сервер, который находится перед веб-приложением и обрабатывает входящий HTTP-запрос . Например, front-end сервер, сервер балансировки нагрузки или единичного приложения.

Термин приложение обозначает веб-приложение, которое может быть либо столь же простым, как PHP-скрипт , либо более сложным, таким как серверное Unicorn-приложение интерпретации Ruby on Rails .

Выполнение HTTPS-редиректов на уровне сервера

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


Такой подход является более быстрым, так как сервер может обрабатывать редирект без взаимодействия с приложением. В то же время конфигурация серверов менее гибкая по сравнению с тем, что можно сделать с помощью полноценного языка программирования.
htaccess редирект HTTP на HTTPS на уровне сервера используется для массового перенаправления. Например, редиректа с WWW на не-WWW версию домена с HTTPS (или наоборот ).

Следующий фрагмент кода является примером конфигурации Nginx , в котором задается редирект с http://example.com , http://www.example.com и https://www.example.com на https://example.com :

server { listen 80; server_name example.com www.example.com; return 301 https://example.com$request_uri; } server { listen 443 ssl; server_name example.com www.example.com; # ssl configuration ssl on; ssl_certificate /path/to/certificate.crt; ssl_certificate_key /path/to/private.key; if ($http_host = www.example.com) { return 301 https://example.com$request_uri; } }

Реализация редиректа на уровне сервера более предпочтительна, но она не всегда осуществима, поскольку вы можете не иметь доступа к конфигурации сервера. Это касается виртуального хостинга или таких платформ, как Heroku , Azure или Google Platform .

Выполнение HTTPS-редиректа на уровне приложений

Когда у вас нет доступа к конфигурации сервера, или логика редиректа является более сложной, необходимо обрабатывать редирект с HTTP на HTTPS на уровне приложений.


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

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

Пакет Goland и net/http

Можно использовать http.Redirect .

Ruby on Rails

Можно настроить редирект на уровне маршрутизатора, использовать промежуточное программное обеспечение Rack или метод redirect_to внутри контроллера:

constraints(host: /www.example.com/) do get "*", to: redirect("https://example.com") end

PHP

Используйте функцию header , чтобы отправить HTTP-заголовок перенаправления:

В некоторых случаях это единственно возможный подход. Например, если нужно перенаправить клиентов с WWW на не-WWW версию домена, с HTTPS на Heroku или Azure (или наоборот ), то придется указать оба домена в одном приложении, установить сертификат и через условия обрабатывать редирект на уровне приложений.

Альтернативные способы выполнения HTTPS-редиректа

Существует несколько альтернативных способов редиректа с HTTP на HTTPS .

В некоторых ситуациях отсутствует доступ к конфигурации сервера, а платформа, на которой размещен сайт, не позволяет использовать язык программирования. В качестве типичного примера можно привести Amazon S3 для размещения статических сайтов. В этом случае нужно выяснить, предоставляет ли платформа параметры HTTPS-редиректов , которые можно настроить.

Другой вариант заключается в использовании автономного, независимого приложения для редиректов. Например, если нужно перенаправить клиентов с https://alpha.com на https://beta.com . Тогда для домена alpha.com в качестве DNS можно указать другой сервис или сервер, на котором размещен beta.com . А также настроить редирект на уровне сервера или установить приложение, которое будет выступать в качестве редиректора. При этом также необходим валидный сертификат для alpha.com , который будет установлен там, где необходимо осуществить редирект.

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

Виды ошибок

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

Список ошибок http (хх – любые цифры):

2хх — запрашиваемый запрос выполнен;
3хх — запрашиваемый запрос отправлен пользователю, тоже считается положительным кодом;
4хх — файл не был отправлен пользователю по причине ошибки. Этот код означает ошибку со стороны клиента;
5хх — ошибка сервера.

Ниже мы разберем два последних кода ответа сервера. Это наиболее частые ошибки, а их устранение не требует много времени.

Ошибка 400 «Bad Request»

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

  • браузер заблокирован антивирусом;
  • браузер заблокирован брэндмауэром Windows;
  • большое количество cookies и файлов в кэше;
  • нестабильное подключение к интернету.

Чтобы решить эту проблему, нужно по очереди проверить каждую возможную причину ее возникновения.

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

Браузер заблокирован брэндмауэром.
В этом случае нужно временно отключить брэндмауэр, очистить cookies и cash, а затем обновить страницу в браузере. Если проблема решилась, нужно добавить браузер в разрешенные программы в брэндмауэре.

Куки и кэш (Сookies & cash)
Самое простое решение – просто очистите cookies и cash в браузере, а затем обновите страницу с ошибкой.

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

Ошибка 403 «Доступ запрещен»

Если ответ сервера – ошибка 403, значит, что доступ к запрашиваемым файлам запрещен. Самые часто встречающиеся причины:

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

Ошибка 404 – файл не найден

Такая ошибка означает, что сервер не находит данные по запросу. Основные причины ее возникновения:

  • URL введен некорректно. Чтобы устранить ошибку, проверьте правильность написания ссылки.
  • Запрашиваемый документ отсутствует. Чтобы устранить ошибку, нужно проверить, находится ли запрашиваемый файл в нужной директории.

Ошибка 500 – ошибка сервера

Чтобы узнать, что значит ошибка http с кодом 500, нужно проверить причины ее возникновения.

  • Невозможность запуска скрипта. Если на документы указаны неверные права доступа, такие как 777, работа скриптов с этими файлами блокируется сервером. Чтобы устранить данную проблему, необходимо установить корректные права доступа к файлам.
  • Ошибка в файле.htaccess. Возможно, ошибка в директиве. Чтобы устранить ошибку, включите error.log.

Ошибка 502 – Bad Gateaway

Такие статусы ошибок http, как 502, сообщают о том, сервер дал недопустимый ответ. Причины появления такой ошибки:

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

Ошибка 503 – Service Temporarily Unavailable

Каждый сайт, располагаясь на хостинге, имеет в распоряжении ограниченное количество рабочих процессов в зависимости от тарифа. Процессы выполняются по очереди и, чем больше процессов, тем сильнее забивается очередь, количество процессов в которой ограничено. Таким образом, если процесс не вмещается в установленный объем очереди, он не выполнятся. При этом сервер выдает ошибку «Сервис временно недоступен». Причины появления ошибки:

  • Ограниченность времени работы скрипта. Так как через некоторое время скрипты прекращают свою работу, они могут не успеть передать большой файл. Чтобы устранить эту ошибку, отключите все плагины по очереди, выявляя из их числа самые тяжелые. Виновника следует заменить на аналогичный плагин или же отказаться от него вовсе.
  • Высокое количество запросов. Причины возникновения:
  1. Ресурс ссылается на слишком большое количество файлов, загрузка каждого из которых занимает отдельный процесс. Для решения постарайтесь объединить как можно больше файлов в один.
  2. Спам и DDoS-атаки могут вызывать высокое количество запросов. В случае DDos-атаки, .

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

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

Иногда возникают ситуации, когда при запросе сайта веб-браузером выдается ошибка. Такие ошибки имеют цифровой код и определенное описание.

(101-199) Информационные ответы

Такие ответы указывают на то, что запрос того или иного клиента принят и происходит его непосредственная обработка.

  • 100 - Continue - принята первая часть запрос, клиент может продолжить его передачу.
  • 101 - Switching Protocols - сервисом выполняются определенные требования клиента, а также переключаются протоколы, что соответствует данным в поле заголовка Upgrade.

(200-299) Успешные запросы клиента

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

  • 200 - OK - успешная обработка запроса клиента, а в ответе сервера имеются все запрашиваемые данные.
  • 201 - Created - такой код состояния может быть использован при смене URL. Помимо кода, сервером также выдается заголовок Location, в котором содержится вся информация о месте перемещения всех новых данных.
  • 202 - Accepted - запрос принимается, но его обработка происходит не сразу. Тело содержимого ответа также может содержать определенную информацию о данной транзакции. Не предоставляются никакие гарантии того, что запрос будет удовлетворен, даже если во время приемы он был допустимым.
  • 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 (ресурс перемещен на постоянной основе) - требуемый URL сервер уже не использует, поэтому и не выполняется операция, которая указана в запросе. В заголовке Location предоставляются данные о новом местонахождении запрашиваемого документа. При последующих запросах необходимо уже указывать новый URL.
  • 302 - Moved Temporarily (ресурс временно перемещен) - временное перемещение затребованного URL. В заголовке Location указывается новое месторасположение. После получения кода состояния клиент должен разрешить запрос при помощи нового URL, но в дальнейшем пользоваться только старым.
  • 303 - See Other (смотрите другой ресурс) - поиск затребованного URL осуществляется посредством указания другого URL, который находится в заголовке Location.
  • 304 - Not Modified (не изменился) - является кодом ответа на заголовок lf-Modified-Since, если не произошло изменение URL. Тело содержимого не присутствует, поэтому клиентом должна использоваться его локальная копия.
  • 305 - Use Proxy (используйте прокси-сервер) - обращаться к запрашиваемому ресурсу необходимо посредством прокси-сервера, который указывается в поле Location. Также в этом поле имеется URL необходимого прокси-сервера. Запрос необходимо повторить получателю.

(400-499) Неполные запросы клиента

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

  • 400 - Bad Request (некорректный запрос) - сервер не понимает запрос из-за синтаксиса malformed. Запрос можно повторить, но только после проведения определенных модификаций.
  • 401 - Unauthorized (нет разрешения) - пользователь должен подтвердить свою подлинность. В ответе должно присутствовать поле заголовка WWW-Authenticate с вызовом, который применяется к запрошенному ресурсу. Запрос может повториться, но уже с подходящим полем заголовка Authorization. Если в данном поле уже имеются рекомендации по установлению подлинности, то код состояния 401 показывает, что такие рекомендации не подходят для установления подлинности.
  • 402 - Payment Required (требуется оплата) - код зарезервирован и будет использоваться в будущем, но он еще не реализован в HTTP.
  • 403 - Forbidden (доступ запрещен) - отклонение запроса, так у сервера нет возможности ответить клиенту.
  • 404 - Not Found (ресурс не найден) - по указанному URL уже не существует необходимого документа, то есть сервер не нашел ничего, что могло бы соответствовать данному запросу.
  • 405 - Method Not Allowed (недопустимый метод) - в заголовке Allow отмечается, что применяемый клиентом метод не поддерживается.
  • 406 - Not Acceptable (неприемлемый запрос) - идентифицируемый ресурс может генерировать только объекты с характеристикой содержимого, которые не согласуются с заголовками приема.
  • 407 - Proxy Authentication Required (необходима регистрация на сервере-представителе) - указывает на необходимость установления подлинности клиента прокси-серверу. Прокси-сервером возвращается поле заголовка Proxy-Authenticate, где содержится определенный вызов. Запрос может быть повторен, но уже при указании подходящего поля заголовка.
  • 408 - Request Timeout (время обработки запроса истекло) - запрос не осуществился клиентом за время ожидания сервером. Запрос можно повторить позже.
  • 409 - Conflict (конфликт) - запрос не выполняется, так как существует конфликт с состоянием ресурса. Предполагается, что пользователь устранит конфликт и передаст запрос повторно.
  • 410 - Gone (ресурса больше нет) - затребованный URL больше не т на сервере.
  • 411 - Length Required (необходимо указать длину) - запрос не принимается сервером, так как не определен Content-Length. Запрос можно повторить, указав в поле заголовка Content-Length длину тела сообщения.
  • 412 - Precondition Failed (не выполнено предварительное условие) - запрос не обрабатывается сервером, так как объект запроса намного больше, чем он может обработать. При таком раскладе возможно закрытие соединения. Если такое состояние временно, то сервер указывает время в заголовке Retry-After, через которое клиент может повторить попытку.
  • 413 - Request Entity Too Large (запрашиваемый элемент слишком велик) - запрос не обрабатывается сервером из-за его огромной величины.
  • 414 - Request-URI Too Long (идентификатор ресурса в запросе слишком длинный) - запрос не обрабатывается сервером, так как его URL довольно длинный.
  • 415 - Unsupported Media Type (неподдерживаемый тип устройства) - отказ сервера в обслуживании запроса, так как запрошенным ресурсом не поддерживается формат объекта запроса.

(500-599) Ошибки сервера

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

  • 500 - Internal Server Error (внутренняя ошибка сервера) - во время обработки запроса один из компонентов сервера столкнулся с определенной ошибкой конфигурации.
  • 501 - Not Implemented (функция не реализована) - запрос клиента не может быть выполнен, так как для выполнения запроса необходима поддержка некоторых функциональных возможностей. Может выдаваться в случае, когда сервер не может распознать метод запроса.
  • 502 - Bad Gateway (дефект шлюза) - сервер при работе в качестве прокси-сервера получил недопустимый ответ в цепочке запросов от следующего сервера.
  • 503 - Service Unavailable (служба недоступна) - служба временно недоступна, но через некоторое время доступ может возобновиться. При наличии у сервера определенных данных, он может выдать ответ с заголовком Retry-After.
  • 504 - Gateway Timeout (время прохождения через шлюз истекло) - шлюзом или сервером превышен лимит времени.
  • 505 - HTTP Version Not Supported (неподдерживаемая версия HTTP) - сервером не поддерживается версия протокола HTTP, которая использовалась в запросе.