Это, хотя и косвенно, приводит нас к кодам статуса HTTP (Hypertext Transfer Protocol). Когда URL-адрес вводится в браузере, запрос отправляется на сервер. Как и в нашем сценарии, браузер ожидает ответа. Эти ответы поступают в виде HTTP-кода, который представляет собой трехзначное число, которое сопоставляется с определенным смыслом.
Вот несколько вероятных сценариев в виде комиксов ко Дню Святого Валентина.
200s: Успех
Коды 200-го класса обычно означают, что все в порядке. Запрос был получен, понят, и на сервере не было ошибок. Например, этот URL-адрес вернет код 200 OK — успешный запрос.
Идеальное завершение для пар «браузер + сервер» и «разработчик + его проект»
300s: Перенаправление
Коды 300-го класса означают, что клиент должен предпринять дальнейшие действия для завершения запроса. В 300-ых также находятся все переадресации.
Человек, вероятно, никогда не увидит 300-ых кодов, поскольку браузер без пользователя должен предпринять необходимые действия. Однако, поисковые системы серьезно относятся к этим 300-ым кодам, поэтому разработчикам следует позаботиться о выборе правильного кода.
Существует тонкое, но важное различие между 302, 303 и 307, которое не очень хорошо отражено в комиксе.
Вкратце, смысл состоит в том, что, когда 302 код был впервые создан, он был неправильно реализован популярными браузерами. Чтобы устранить неоднозначность между верным 302 и неверным 302, были созданы коды 303 и 307.
Этот комикс плохо иллюстрирует преимущества 304-го, поскольку для человека «да» намного короче, чем «мой ответ не изменился».
304 полезен для браузеров, потому что он сигнализирует, что ресурс может быть загружен из кэша, вместо того, чтобы заново загружать его с сервера.
400s: ошибка клиента
Класс кодов 4xx обычно указывает на проблему с запросом. Это может быть проблема с браузером или используемым URL.
404 — это, возможно, самая распространенная ошибка. Хотя многие понимают её значение, как «этот ресурс не существует», и «этот ресурс удален», 404 фактически не указывает, существовал ли ресурс или будет ли он когда-либо возвращен.
В отличие от знаменитого 404, 410 — это случай, когда ресурс существовал, но был удален навсегда и его возврат не ожидается. Если вы удалили страницу с вашего сайта на постоянной основе, следует использовать 410, а не 404.
500s: ошибка сервера
Эпилог
Наконец, самый забавный код статуса — это отсылка на первоапрельскую шутку далекого 1998 года, которая до сих пор жива.
Hyper Text Coffee Pot Control Protocol (HTCPCP, гипертекстовый протокол управления кофеваркой) — протокол для управления, слежения и диагностики приборов для приготовления кофе. Запросы HTCPCP определяются с помощью схемы URI coffee: и содержат несколько добавлений к HTTP-запросам. 418 «I’m a teapot» (Ошибка 418: Я — чайник) — возвращается при попытке приготовить кофе с помощью чайника.
Надеемся, что просмотр этих комиксов сделал HTTP-коды более интересными. Дополнительные и более серьёзные пояснения по поводу этих кодов вы сможете найти по ссылкам ниже.
Ссылки по теме:
HTTP response status codes
HTTP Status Codes for Beginners | Added Bytes
Простым языком об HTTP
Комментарии (17)
lxsmkv
13.02.2018 21:40(Сам имею к топику немного отдаленное отношение, прошу не судить за признание собственной малообразованности.)
Сегодня на работе случайно в разговоре узнал, что статус коды не предназначены для передачи информационной нагрузки. Они только для сообщения состояния протокола, а не приложения. Т.е если сервер говорит 200, это не значит ничего кроме того что он принял запрос. Передавать статус кодом информацию нарушает назначение протокола, например:
— У тебя есть сестра?
— 200 (как-бы, «да»)
Получается, представленные картинки искажают значение статус кодов, и предназначение протокола.
Но сама задумка и исполнение очень милые.
yanghu
13.02.2018 23:10304 полезен не только для браузеров. При запросе if modified since «date» поисковые роботы получают ответ not modified и не обходят страницу, хотя в последнее время они это не особо учитывают. По теме: прикольные иллюстрации, спасибо!
KitScribe
Очень забавно и познавательно. Спасибо