РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1072 of 1593 menu

Константа http.StatusNotFound

Константа http.StatusNotFound представляет HTTP статус-код 404 Not Found. Она используется для указания, что запрошенный ресурс не существует на сервере. Это одна из наиболее часто используемых констант в пакете net/http при обработке HTTP запросов и формировании ответов.

Синтаксис

http.StatusNotFound

Константа возвращает целочисленное значение типа int, равное 404.

Пример использования с http.Error

Давайте рассмотрим пример использования константы с функцией http.Error для отправки ответа 404 клиенту:

package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { if r.URL.Path != "/" { http.Error(w, "Page not found", http.StatusNotFound) return } fmt.Fprintln(w, "Welcome to the main page") }) http.ListenAndServe(":8080", nil) }

В этом примере обработчик проверяет путь запроса. Если путь не равен корневому, функция http.Error отправляет статус 404 и сообщение "Page not found" с использованием константы http.StatusNotFound.

Пример с http.NotFound

Также константа используется внутри функции http.NotFound, которая является сокращенным способом отправки ответа 404:

package main import ( "net/http" ) func main() { http.HandleFunc("/users", func(w http.ResponseWriter, r *http.Request) { if r.Method != http.MethodGet { http.NotFound(w, r) return } }) http.ListenAndServe(":8080", nil) }

В этом примере обработчик проверяет метод запроса. Если метод не GET, вызывается функция http.NotFound, которая внутри использует константу http.StatusNotFound для формирования ответа.

Пример проверки статуса в ответе

Константа может использоваться для проверки статуса ответа, полученного от сервера:

package main import ( "fmt" "net/http" ) func main() { res, err := http.Get("https://example.com/notfound") if err != nil { fmt.Println(err) return } defer res.Body.Close() if res.StatusCode == http.StatusNotFound { fmt.Println("Resource not found") } else { fmt.Printf("Status: %d\n", res.StatusCode) } }

Результат выполнения кода:

"Resource not found"

В этом примере мы выполняем GET запрос и проверяем статус ответа. Если код равен 404, выводим соответствующее сообщение.

Смотрите также

  • константу http.StatusOK,
    которая представляет код 200 OK
  • константу http.StatusInternalServerError,
    которая представляет код 500 Internal Server Error
  • функцию http.NotFound,
    которая отправляет ответ с кодом 404
  • функцию http.Error,
    которая позволяет отправить произвольный код состояния
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить