HTTP-концепции, которые должен знать каждый разработчик
> HTTP-методы — Определяют действие: GET (получить), POST (создать), PUT (заменить), PATCH (обновить), DELETE (удалить).
> Коды статуса — Сообщают, что произошло: 2xx (успех), 4xx (ошибка клиента), 5xx (ошибка сервера).
> Заголовки — Пары ключ-значение, которые передают метаинформацию (например, Content-Type, Authorization, Cache-Control).
> Тело запроса — Фактические данные, отправляемые в POST/PUT/PATCH-запросах (часто в формате JSON или form-data).
> Параметры запроса — Пары ключ-значение в URL после ?, используются для фильтрации, сортировки, поиска.
> Параметры пути — Динамические части URL (например, /user/:id), используются для идентификации ресурсов.
> Идемпотентность — Повтор одного и того же запроса (например, PUT или DELETE) приводит к одному и тому же результату.
> Безопасные методы — Методы, такие как GET и HEAD, которые не должны изменять состояние сервера.
> HTTP/1.1 vs HTTP/2 vs HTTP/3 — Новые версии ускоряют работу за счёт мультиплексирования, бинарных фреймов и протокола QUIC.
> Keep-Alive — Повторное использование TCP-соединений для нескольких запросов для снижения задержек.
> Content-Type — Указывает серверу/клиенту, в каком формате тело запроса (например, application/json).
> Accept — Указывает серверу, какие форматы ответа клиент может обрабатывать.
> Authorization — Несёт учетные данные (токены, basic auth) для аутентификации запросов.
> Кэширование — Использует заголовки вроде Cache-Control, ETag, Last-Modified для снижения нагрузки и задержек.
> ETag — Уникальный хеш для версии ресурса; помогает в условных запросах и кэшировании.
> Редиректы (3xx) — Инструктируют клиент попробовать другой URL (например, 301, 302, 307).
> CORS — Управляет тем, какие источники могут обращаться к вашему API из браузера.
> Preflight-запросы — Запросы типа OPTIONS, которые браузер отправляет перед некоторыми CORS-запросами для проверки разрешений.
> Туннелирование HTTP-методов — Некоторые прокси пропускают только GET/POST, поэтому PUT/DELETE инкапсулируются через POST + _method.
> User-Agent — Заголовок, который браузеры отправляют для идентификации (часто подделывается или изменяется).
> Referer — Заголовок, указывающий URL предыдущей страницы (используется в аналитике и безопасности).
> Host Header — Указывает домен, на который направлен запрос (важен при виртуальном хостинге).
> Connection Header — Управляет поведением соединения (например, close, keep-alive).
> HEAD-метод — Как GET, но возвращает только заголовки (без тела); полезен для проверки ресурсов.
👉 Java Portal
> HTTP-методы — Определяют действие: GET (получить), POST (создать), PUT (заменить), PATCH (обновить), DELETE (удалить).
> Коды статуса — Сообщают, что произошло: 2xx (успех), 4xx (ошибка клиента), 5xx (ошибка сервера).
> Заголовки — Пары ключ-значение, которые передают метаинформацию (например, Content-Type, Authorization, Cache-Control).
> Тело запроса — Фактические данные, отправляемые в POST/PUT/PATCH-запросах (часто в формате JSON или form-data).
> Параметры запроса — Пары ключ-значение в URL после ?, используются для фильтрации, сортировки, поиска.
> Параметры пути — Динамические части URL (например, /user/:id), используются для идентификации ресурсов.
> Идемпотентность — Повтор одного и того же запроса (например, PUT или DELETE) приводит к одному и тому же результату.
> Безопасные методы — Методы, такие как GET и HEAD, которые не должны изменять состояние сервера.
> HTTP/1.1 vs HTTP/2 vs HTTP/3 — Новые версии ускоряют работу за счёт мультиплексирования, бинарных фреймов и протокола QUIC.
> Keep-Alive — Повторное использование TCP-соединений для нескольких запросов для снижения задержек.
> Content-Type — Указывает серверу/клиенту, в каком формате тело запроса (например, application/json).
> Accept — Указывает серверу, какие форматы ответа клиент может обрабатывать.
> Authorization — Несёт учетные данные (токены, basic auth) для аутентификации запросов.
> Кэширование — Использует заголовки вроде Cache-Control, ETag, Last-Modified для снижения нагрузки и задержек.
> ETag — Уникальный хеш для версии ресурса; помогает в условных запросах и кэшировании.
> Редиректы (3xx) — Инструктируют клиент попробовать другой URL (например, 301, 302, 307).
> CORS — Управляет тем, какие источники могут обращаться к вашему API из браузера.
> Preflight-запросы — Запросы типа OPTIONS, которые браузер отправляет перед некоторыми CORS-запросами для проверки разрешений.
> Туннелирование HTTP-методов — Некоторые прокси пропускают только GET/POST, поэтому PUT/DELETE инкапсулируются через POST + _method.
> User-Agent — Заголовок, который браузеры отправляют для идентификации (часто подделывается или изменяется).
> Referer — Заголовок, указывающий URL предыдущей страницы (используется в аналитике и безопасности).
> Host Header — Указывает домен, на который направлен запрос (важен при виртуальном хостинге).
> Connection Header — Управляет поведением соединения (например, close, keep-alive).
> HEAD-метод — Как GET, но возвращает только заголовки (без тела); полезен для проверки ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
SQL Basics.pdf
102.8 KB
Держите годноту: подборка полезных шпаргалок по SQL
— Основы языка SQL
— SQL Joins
— Оконные функции
— SQL для анализа данных
Сохраняем и используем
👉 Java Portal
— Основы языка SQL
— SQL Joins
— Оконные функции
— SQL для анализа данных
Сохраняем и используем
Please open Telegram to view this post
VIEW IN TELEGRAM
Java API Tip
Безопасное приведение
Используй
Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок.
Используй
👉 Java Portal
Безопасное приведение
long
к int
Используй
Math.toIntExact()
— этот метод возвращает значение long, но выбрасывает ArithmeticException
, если оно не помещается в int
Без него преобразование произойдёт молча — и ты можешь получить некорректный результат без всяких ошибок.
Используй
toIntExact
, когда важно контролировать переполнениеPlease open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Техночат
Разыгрываем лучшие гаджеты года: iPhone 16 Pro Max на 256 ГБ, 15-дюймовый MacBook Air 16/256 ГБ и PlayStation 5 Pro!
Чтобы их получить, достаточно подписаться на:
• наш канал «Техночат»
• И на канал «Больше, чем экономика»
Нажимаете после этого на кнопку «Участвовать» и ждёте 2 июля — в этот день в 20:00 по московскому времени рандомайзер выберет трёх победителей. Первый получит айфон, второй — макбук, а третий — PlayStation.
Призы бесплатно вышлем в ближайший к вам пункт выдачи СДЭК, поэтому уточните, есть ли он в вашей стране.
Чтобы их получить, достаточно подписаться на:
• наш канал «Техночат»
• И на канал «Больше, чем экономика»
Нажимаете после этого на кнопку «Участвовать» и ждёте 2 июля — в этот день в 20:00 по московскому времени рандомайзер выберет трёх победителей. Первый получит айфон, второй — макбук, а третий — PlayStation.
Призы бесплатно вышлем в ближайший к вам пункт выдачи СДЭК, поэтому уточните, есть ли он в вашей стране.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM