Список кодов ответа сервера на запросы от программиста
Содержание:Боты систем запросов всегда ищут коды ответа сервера. Только после тестирования начинают сканирование. Не умея работать с кодами, можно подвергнуть проект опасности от вторжения злоумышленников.
Например, четыреста четвертый код означает, что такой веб-страницы не существует. Пользователи страницы сайта больше не смогут ее найти, так как она была удалена или заблокирована.
Давайте посмотрим на то, какие существуют коды-ответы и как их классифицируют опытные специалисты. Опытные программисты говорят что нужно уметь в каждом определенном случае применить тот или иной код ответа, а также прописать объяснение к нему.
Классификация кодов ответа
Принято классифицировать коды состояния так:
- 1хх — они отвечают за передачу информации. Являются самыми первыми и короткими по времени действия. По сути, они подтверждают, что данные приняты и могут быть обработаны либо находятся еще в процессе обработки. Это нейтральные ответы, по которым нельзя судить, правильно ли был отправлен запрос, работает ли сервер и так далее;
- 2хх — этот класс считается самым важным. Их еще называют коды «Ок». Они отвечают за информирование о том, что код принят и был успешно обработан;
- 3хх — третий класс включает в себя коды редиректа или перенаправления. Сервер на запрос отвечает, что пользователь должен сделать что-либо, чтобы работа продолжилась. Например, перейти по ссылке. Коды редиректа тоже играют важную роль, и программист обязан их помнить и правильно прописывать;
- 4хх — ошибка по вине пользователя. Эти сочетания символов обозначают, что человек перешел на какой-то забытый сайт или отключенный от домена, непроплаченный и тому подобное. Также это могут быть ответы на конфликтные ситуации запроса с сервером и многое другое;
- 5хх — класс ошибок сервера. Если появляется такой тип ответа, то это значит, что на сервере неполадки. Компьютер не может выполнить запрос. Иногда некоторые ответы в такомформате могут означать, что используется устаревший вариант HTTP, который невозможно обработать.
Разберемся с тем, как разные коды http воздействуют на СЕО.
Если хотите знать, с чем еще сталкиваются начинающие программисты, какие ошибки допускают что нужно уметь, чтобы стать начинающим разработчиком веб-приложений, читайте наш блог по программированию от DevEducation.
Влияние на СЕО
Например, коды ошибок негативно влияют на страницу веб-проекта. Дело в том, что роботы беспрерывно заходят на страницу и проверяют ее. Если один из ботов обнаруживает ошибку, то он пытается зайти на сайт еще раз и еще раз в течение дня. Робот надеется, что создатель сайта исправит ошибку. Если этого не происходит, то робот выводит из индексирования.
Поэтому так важно следить за сайтом ежедневно, чтобы не было ошибок на нем. Проверить, выведена ли страница или нет, можно в Гугл Консоли. Если вы ее там не найдете, то нажмите на кнопку «Запросить индексирование». Через некоторое время сайт снова появится в поисковой выдаче.
Эта же консоль поможет молодым программистам отслеживать наличие сайта в индексировании. От вас потребуется раз в неделю заходить во вкладку «Покрытие», чтобы определить наличие страницы в поисковых запросах.
Теперь давайте глянем на список кодов ответа сервера.
Таблица ответов
Коды ответа HTTP
Наименование
Характеристики
В какой версии используется
Класс переносящих информацию
100
Продолжение
«Продолжить». Это информационный ответ, который оповещает пользователя, что запрос принят и можно просматривать сайт либо уйти с него.
Работает в модификации протокола передачи гипертекста 1.1.
101
Включение протокола
Если клиент делает запрос с заголовком Upgrade, то обычно получает этот ответ. Он означает, что сервер переключился на протокол HTTP.
Присутствует в протоколе передачи гипертекста 1.1.
102
Процесс обработки
Код сто два получает пользователь, когда сервер продолжает обрабатывать запрос. Еще неизвестно, получит ли положительный или отрицательный ответ клиентский компьютер.
Работает в модификации протокола передачи гипертекста 1.1.
103
Предварительные подсказки
Клиентский компьютер будет перекинут на определенные ресурсы, пока обрабатывается информация.
Здесь важно понимать, что информационные ответы работают только в версиях 1,1 HTTP.
Работает в модификации протокола передачи гипертекста 1.1.
Прошедшие обработку успешно или положительные ответы
200
Все хорошо
Этот ответ подтверждает, что запросы выполнен. Насколько корректно произведена операция зависит от того, какой метод использован:
● GET. Запрашиваемый ресурс обнаружен и передан.
● HEAD. Заголовки размещены в ответе
● POST. Ресурс, характеризующий действия server на запрос, размещен в теле ответа
● TRACE. Ответ включает тело запроса.
Имеется в модификации протокола передачи гипертекста 1.1.
201
Создано
Появляется тогда, когда создается ресурс. Код получает разработчик, если делает запрос PUT «ПОМЕСТИТЬ»
Работает в модификации протокола передачи гипертекста 1.1.
202
Согласовано
Означает, что запрос принят, но пока не обрабатывается. Клиентскому компьютеру необходимо будет подождать некоторое время. Обычно используется ответ, когда проводится пакетная передача данных. Некоторые обработаны, а какие-то еще в процессе.
Работает в модификации протокола передачи гипертекста 0.9.
203
Неавторизованные сведения
Данные не авторизованы. Их могли запросить из иного источника. В иных случаях лучше всего давать ответ 200 или «все хорошо»
Работает в модификации протокола передачи гипертекста 1.1.
204
Нет контента
«Нет контента» нужен для ответа на запрос, при котором заголовки на сайте есть, но самого содержимого нет. Юзер пользуется ими для апдейта закешированных заголовков.
Работает в модификации протокола передачи гипертекста 0.9.
205
Сброс контента
Сброс контента нужен в том случае, если запрос обработан и сообщается пользователю, что требуется удаление отображения файла, который прислан на данный запрос.
Работает в модификации протокола передачи гипертекста 1.1.
206
Частичный контент
Наличие частичного контента — это такая кодировка, когда клиентский компьютер отсылает заголовок диапазона для выполнения загрузки по отдельности или через два, три, пять потоков.
Работает в модификации протокола передачи гипертекста 1.1.
Месседжи редиректа
300
Множественный выбор
Такой ответ приходит, когда существует пять, шесть ответов на запрос. Пользователю предоставляется возможность выбрать самому один.
Работает в модификации протокола передачи гипертекста 1.1.
301
Перемещен на постоянку
Перемещение на постоянку обозначает изменение URI сайта, на который идет запрос. Возможно, что клиентский компьютер получит совершенно иной URI.
Работает в модификации протокола передачи гипертекста 0.9.
302
Обнаружен
Может быть получен, когда ресурс временно изменяется. Эти корректировки в URI будут доступны. Подобный URI будет использован пользователем в следующих запросах.
Работает в модификации протокола передачи гипертекста 0.9.
303
Просмотреть иные ресурсы
Просмотр иных ресурсов приходит, когда клиент направляется для ответа в совершенно другой URI, только уже с GET.
Работает в модификации протокола передачи гипертекста 1.1.
304
Немодифицированный
Немодифированный. Нужен для кэширования. Указывает на то, что страница не скорректирована. Пользователь сможет спокойно применять закэшированную версию ответа.
Работает в модификации протокола передачи гипертекста 0.9.
305
Работать с прокси
Ответ «Работать с прокси» приходит, если страница нуждается в получении запроса и ответа через proxy-сервер. Такие ответы небезопасны.
Работает в модификации протокола передачи гипертекста 1.1.
306
Включить лишь этот прокси
Все запросы будут использовать теперь только этот proxy.
Работает в модификации протокола передачи гипертекста 1.1.
307
Временно перенаправлен
Этот ответ перенаправляет пользователя на иной адрес с таким же методом, как и для запроса. По семантике опытные разработчики сравнивают его с кодом 302 или Found.
Работает в модификации протокола передачи гипертекста 1.1.
308
Постоянно перенаправлен
Ответ «Постоянно перенаправлен» пользователь получает тогда, когда сайт находится на другом ресурсе постоянно. Сведения находятся в заголовке Location: HTTP Response. Опытные разработчики говорят, что по семантике ответ схож с кодом 301. Если ответ под номером 308 агенту юзера не следует корректировать метод HTTP: если POST применялся в 1-м запросе, его следует использовать и во 2-м.
Считается экспериментальным.
Пользовательские
400
Некорректный запрос
Сообщает, что использован неправильный синтаксис.
Работает в модификации протокола передачи гипертекста 0.9.
401
Неавторизованный
При запросе пользователь ввел неправильные сведения. Схож с 403. Однако указывает на то, что авторизация еще возможна.
Работает в модификации протокола передачи гипертекста 0.9.
402
Проведите оплату
Не применяется. Задуман для проведения цифровых платежей. Пока что в нем нет нужды.
Работает в модификации протокола передачи гипертекста 1.1.
403
Запрещено
Юзер не может пройти на сайт. Отсутствуют права доступа для совершения этого действия.
Работает в модификации HTTP 0.9.
404
Ненайденный
Все помнят ошибку 404. Когда приходит данный ответ, он сообщает, что запрашиваемой страницы не существует.
Есть в модификации HTTP 0.9.
405
Неразрешенный метод
Неразрешенный метод говорит о том, что сервер распознал запрос. Однако разрешить его не может, потому что метод может быть не распознан.
Есть в модификации HTTP 1.1.
406
Несогласованный
Web-сервер после выполнения server-driven content negotiation не обнаружил контента, соответствующего критериям.
Есть в модификации HTTP 1.1.
407
Аутентификация proxy-сервера
Похож на код 401, аутентификация понадобится для сервера.
Есть в модификации HTTP 1.1.
408
Время запроса вышло
Приходит без запросов. Обычно это указывает на то, что сервер отключает соединение.
Опытные программисты советуют учитывать, что многие серверы обрывают соединения, не пытаясь отправить подобные сообщения.
Есть в модификации HTTP 1.1.
409
Конфликт
Зафиксирована конфликтная ситуация с сервером.
Есть в модификации HTTP 1.1.
410
Удаленный
Контент стерт на web-сервере
Работает в модификации HTTP 1.1.
411
Отклонение
Запрос обычно отклоняется посредством этого ответа. Так происходит, когда web-сервер требует прописать заголовок Content-Length, но он не прописан.
Есть в модификации HTTP 1.1.
412
Условия не возможно выполнить
Сообщает, что условия в заголовках невозможно реализовать.
Присутствует в модификации HTTP 1.1.
413
Лимит запроса превышен
Размер запроса превышает тот, который объявлен сервером. Поэтому обычно главный компьютер закрывает соединение, возвращая Retry-After.
Работает в модификации HTTP 1.1.
414
Чрезмерно длинный URI
URI, который запрашивает клиентский компьютер, чрезмерно длинный.
Работает в модификации HTTP 1.1.
415
Неподдерживаемый формат медиаданных
Картинки и видеоролики не подходят.
Работает в модификации HTTP 1.1.
416
Диапазон с указанным заголовком не выполнен
Диапазон, содержащийся в заголовке запроса Range, невозможно выполнить.
Работает в модификации HTTP 1.1.
417
Ожидания провалены
Ожидание из заголовка Expect, не может быть выполнено.
Есть в модификации HTTP 1.1.
Серверные
500
Баг внутри сервера
Сервер не способен обработать запрос, и выдать корректный ответ.
Работает в модификации HTTP 0.9.
501
Не выполнено
Запрашиваемый метод не обрабатывается и не поддерживается server.
Есть в версии HTTP 0.9.
502
Некорректный шлюз
Данная ошибка может означать только одно: когда сервер выполнял роль шлюза, он получил неверный или недействительный ответ.
Есть в модификации HTTP 0.9.
503
Недоступный server
Server отключен или недоступен из-за неправильных сетевых настроек. Разработчики, написав данный ответ, должны обязательно прописывать объяснение бага. Такой ответ используют для временных условий и Retry-After. HTTP-заголовок включает предполагаемое время до возобновления функционирования сервиса. Разработчик обязан сделать все возможное, чтобы заголовки шли вместе с кэшем и этим ответом. А сами ответы не должны кэшироваться. Иначе юзера всегда будет переносить только на данную ошибку.
Работает в модификации HTTP 0.9.
504
Вышло время действия шлюза
За время выполнения роли шлюза server так и не получил ответ, после чего тот закрылся.
Работает в модификации HTTP 1.1.
505
Не поддерживается данная версия HTTP
Версия, откуда прибыл запрос, неактуальна для сервера.
Есть в модификации HTTP 1.1.
Теперь вы знаете, что это за коды состояния http и как они расшифровываются. Если вы начинающий программист, вы будете частенько встречаться с данными ошибками при вызове ответов на запрос с сайта. Если вам придется самостоятельно писать их, то тем более нужно знать, как таблицу умножения, все эти символы и цифры.
Заключение
Если вы хотите изучать коды состояния http запроса, программирование, записывайтесь на IT-курсы от DevEducation. Здесь вы получите стопроцентные знания, и сможете после обучения устроиться на работу на уровне джуниор-программиста.