Коды ответа HTTP
Всем привет!
Какое то время назад я выкладывал похожий пост, но этот дополнен и содержит в себе больше нужной инфы. А еще я узнал что в спецификации существует код 418 - I'm a teapot, без приколов. Подробнее о нем тут.
Основные категории:
1xx. Информационные 100 - 199
2xx. Успешные 200 - 299
3xx. Перенаправления 300 - 399
4xx. Клиентские ошибки 400 - 499
5xx. Серверные ошибки 500 - 599
Чуть подробнее о самых часто встречающихся:
👉 200 - ОК. Cервер успешно обработал запрос.
👉 201 - Created. Сервер обработал запрос и создал новый ресурс
👉 204 - No Content. Сервер обработал запрос, но никакого содержимого нет.
👉 301 - Moved Permanently. Данные, которые запрашиваются, были перемещены по другому адресу навсегда.
👉 304 - Not Modified. Означает, что запрашиваемый ресурс не изменялся, а значит может использовать кэшированную версию.
👉 400 - Bad Request. Был отправлен запрос, который сервер не может обработать (например в запросе передан не верный формат данных)
👉 401 - Unauthorized. В доступе отказано по причине отсутствия авторизации.
👉 404 - Not Found. Связь с сервером установлена но данных по запросу нет.
👉 500 - Internal Server Error. Внутренняя ошибка сервера, причин ошибки может быть множество.
Если вам нужны совсем-совсем все коды то вот ссылочка.
В общем как то так, думаю вам это пригодится.
Всем привет!
Какое то время назад я выкладывал похожий пост, но этот дополнен и содержит в себе больше нужной инфы. А еще я узнал что в спецификации существует код 418 - I'm a teapot, без приколов. Подробнее о нем тут.
Основные категории:
1xx. Информационные 100 - 199
2xx. Успешные 200 - 299
3xx. Перенаправления 300 - 399
4xx. Клиентские ошибки 400 - 499
5xx. Серверные ошибки 500 - 599
Чуть подробнее о самых часто встречающихся:
👉 200 - ОК. Cервер успешно обработал запрос.
👉 201 - Created. Сервер обработал запрос и создал новый ресурс
👉 204 - No Content. Сервер обработал запрос, но никакого содержимого нет.
👉 301 - Moved Permanently. Данные, которые запрашиваются, были перемещены по другому адресу навсегда.
👉 304 - Not Modified. Означает, что запрашиваемый ресурс не изменялся, а значит может использовать кэшированную версию.
👉 400 - Bad Request. Был отправлен запрос, который сервер не может обработать (например в запросе передан не верный формат данных)
👉 401 - Unauthorized. В доступе отказано по причине отсутствия авторизации.
👉 404 - Not Found. Связь с сервером установлена но данных по запросу нет.
👉 500 - Internal Server Error. Внутренняя ошибка сервера, причин ошибки может быть множество.
Если вам нужны совсем-совсем все коды то вот ссылочка.
В общем как то так, думаю вам это пригодится.
👍17❤2🔥1
Что нового в TypeScript 4.9 - оператор satisfies
Алоха товарищи фронты! Я знаю что TS 4.9 это не самая новая версия так как недавно анонсировали TS 5.0. Но я думаю что далеко не все знают о том что нового было в версии 4.9 и уверен что многим будет это полезно.
И так что делает новый оператор:
Позволяет нам проверить соответствие выражения некоторому типу, не меняя сам тип. Это помогает при работе с объектами со смешанными типами данных.
Рассмотрим на примере:
}
❗ Объект
Вот тут-то нам и поможет оператор
Также оператор
Надеюсь что было полезно. В общем удачи в экспериментах!
Алоха товарищи фронты! Я знаю что TS 4.9 это не самая новая версия так как недавно анонсировали TS 5.0. Но я думаю что далеко не все знают о том что нового было в версии 4.9 и уверен что многим будет это полезно.
И так что делает новый оператор:
Позволяет нам проверить соответствие выражения некоторому типу, не меняя сам тип. Это помогает при работе с объектами со смешанными типами данных.
Рассмотрим на примере:
type
FormFields = "name" | "surname" | "age";
const
data: Record<FormFields, number | string> = {
name: "name",
surname: "surname",
age: 21,
}
const
newAge = data.age * 2;
const
nameUpperCase = data.name.toUpperCase();
❗ Объект
data
имеет как числовые, так и строковые значения, поэтому при работе с этим объектом мы получаем следующие ошибки:The left-hand side
of
an arithmetic operation must be
of
type
'any', 'number', 'bigint' or an enum
type
.
Property 'toUpperCase' does not exist on
type
'string | number'.
Property 'toUpperCase' does not exist on
type
'number'.
Вот тут-то нам и поможет оператор
satisfies
.type
FormFields = "name" | "surname" | "age";
const data = {
name: "name",
surname: "surname",
age: 21,
} satisfies Record<FormFields, string | number>
const
newAge = data.age * 2;
const
nameUpperCase = data.name.toUpperCase();
Также оператор
satisfies
можно использовать для отлова некоторых ошибок. Например, для проверки объектов на наличие ключей, соответствующих заданному типу:type FormFields = "name" | "surname" | "age";
const data = {
name: "name",
surname: "surname",
age: 21,
passport: {}
} satisfies Record<FormFields, string | number>
Надеюсь что было полезно. В общем удачи в экспериментах!
👍9👎8❤2
👥Сделали библиотеку компонентов, но пришлось переделывать. Почему так вышло и чем дело кончилось
В этой статье хочу рассказать о том, как у нас в возникла необходимость в создании библиотеки компонентов, почему первое решение не сработало, какие выводы мы сделали и чем закончился наш проект библиотеки.
Читать...
В этой статье хочу рассказать о том, как у нас в возникла необходимость в создании библиотеки компонентов, почему первое решение не сработало, какие выводы мы сделали и чем закончился наш проект библиотеки.
Читать...
🔥5