home.social

#httpсервер — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #httpсервер, aggregated by home.social.

fetched live
  1. Encode, don't stringify — как JSON.stringify вам врёт

    Помните, как лет 5-7 назад все сидели на Yup или Ajv и всех всё устраивало? Потом появилось «Parse, don’t validate», стало настольной книгой для кучи разработчиков и в итоге выстрелило и у нас, в JavaScript и TypeScript. Тысячи библиотек со схемами - лучшее тому подтверждение. Но это уже решённая проблема. А вот что не решено — обратная сторона: JSON.stringify({ price: Infinity }) // => ‘{“price”:null}’ Ни падения, ни предупреждения. Где-то сломалась математика, а клиент получил null и нарисовал пустую ячейку. И это только один пункт из списка: undefined там, где в типах написано string; молча пропавшие ключи; Map и Set, превращающиеся в {}; и вообще отправляется всё - включая поля, которые вы отправлять не собирались. Кажется, за 7 лет разработки я собрал все эти грабли. В статье разбираю каждый пункт и показываю как это чинится - “Encode, don’t stringify”

    habr.com/ru/articles/1070394/

    #json #jsonschema #httpсервер #encoder #stringify

  2. HTTP-кеширование изнутри: ETag, Last-Modified и эвристика браузера

    Как браузер принимает решение о кешировании? Что такое условный HTTP-запрос? Как возникает 304 Not Modified? Как устроен принудительный запрос ресурса, минуя кеш? Если эти вопросы для вас актуальны, прошу на огонёк. Изложение намеренно подробное: статья адресована и тем, кто только начинает путь в веб-разработке, и тем, кто просто хочет закрыть отдельные пробелы в понимании механизма кеширования. Скажем "нет" слепому копированию заголовков кеширования. Погружаемся

    habr.com/ru/articles/1010594/

    #сети #http #кеширование #кэширование #rfc9111 #starlette #uvicorn #httpсервер #браузеры #rfc9110

  3. HTTP-методы для начинающих: разбираем по букве спецификаций, а не пересказам

    Этап "давайте сначала изучим стандарты" при обучении веб-разработке иногда сразу пропускают (или рассматривают буквально в двух словах), переходя к фреймворкам, абстракциям и решениям, которые за тебя уже приняли авторы этих фреймворков. В этой статье мы разберем все 9 методов HTTP-запросов, опираясь на тексты документов, которыми эти методы определены (RFC 9110 и RFC 5789). Статья подойдёт тем, кто делает первые шаги в веб-разработке и хочет понять HTTP глубже, чем это позволяют туториалы фреймворков. Погружаемся

    habr.com/ru/articles/1010240/

    #http #httpсервер #httpметоды #httpзаголовки #http_статус #сети

  4. Разбираем net/http на практике: пишем веб-сервис DeadDrop для безопасного обмена сообщениями

    Первая часть цикла «Разбираем net/http на практике»: создаём с нуля сервис DeadDrop — аналог Privnote для безопасной передачи самоуничтожающихся сообщений и файлов. На чистой стандартной библиотеке net/http разбираем основы: • запуск HTTP-сервера • маршрутизация в ServeMux • написание middleware (логирование и recovery от panic) • работа с HTML-шаблонами и layout’ами • подключение статики через http.FileServer и embed.FS В итоге получаем работающий сервер с красивой главной страницей, формой создания «ячейки» и базовой архитектурой проекта — всё без внешних зависимостей. Идеально для начинающих и тех, кто хочет глубоко понять внутренности популярных фреймворков вроде Gin и Echo. Пишем код вместе!

    habr.com/ru/articles/981356/

    #golang #go #httpсервер #вебразработка #туториал #middleware #template #embed #petпроект #backend

  5. Пишем HTTP-сервер на php и сокетах

    Разбираем протокол http, создание базового http-сервера на php с использованием сокетов, обработкой запросов и формированием ответов.

    habr.com/ru/articles/974112/

    #httpсервер #php

  6. Пишем HTTP-сервер на чистом C

    Привет, Хабр! Сегодня будем писать HTTP-сервер на C. Если когда-нибудь вас заставят написать сервер без libcurl, boost::asio или microhttpd, вы будете готовы.

    habr.com/ru/companies/otus/art

    #C #httpсервер

  7. «Бобер выдыхай»: Go, WinAPI и ассемблер

    Что вам приходит в голову при слове «Golang»? Google и микросервисы? Я тоже так думал, но реальность оказалась значительно интересней.

    habr.com/ru/articles/837454/

    #go #winapi #httpсервер #rest #windows

  8. Разработчики на PHP умеют писать код, но не всегда знают как устроен web-server

    Одной из ключевых особенностей PHP является - легкость для разработчика в написании первой программы. Во многих мануалах для старта разработки сокращают информацию о web-сервере до минимума, например, запустите openserver или скопируйте собранный докер образ, где уже будет все настроено и просто перейдите по адресу http://localhost. Все это приводит к сужению знаний общей картины как работает web-приложение, что негативно влияет на репутацию разработчиков на этом языке программирования в целом. В прошлой статье я обещал рассказать о web-серверах для PHP, как раз для того, чтобы расширить кругозор тех людей, кто пропустил эту тему и постараться раскрыть ее максимально простым и понятным языком.

    habr.com/ru/articles/832040/

    #php #phpfpm #roadrunner #httpсервер

  9. Создание собственного API на Python (FastAPI): Знакомство и первые функции

    Друзья, приветствую! Данной статьей я планирую начать большой цикл публикаций, в которых я расскажу все, что знаю про FastAPI, начиная от самых простых аспектов и заканчивая более глубокими задачами, такими как JWT авторизация, работа в фоне, валидация данных, правильное подключение базы данных и прочее.

    habr.com/ru/articles/826196/

    #fastapi #python #python3 #http #httpсервер

  10. [Перевод] Как я пишу HTTP-сервисы спустя 13 лет работы с Go

    Примерно шесть лет назад я написал пост о том, как пишу HTTP-сервисы на Go , и сегодня я снова хочу рассказать, как пишу HTTP-сервисы. Тот пост оказался довольно популярным и вызвал обсуждения, повлиявшие на то, как я делаю это сегодня. И спустя годы ведения подкаста Go Time , обсуждения Go в X/Twitter и поддержки подобного кода я решил, что настало время обновить информацию. (Если вы педант и скажете, что Go не совсем 13 лет, то я отвечу, что начал писать HTTP-сервисы на Go версии .r59 .) В этом посте рассматривается широкий спектр тем, связанных с созданием сервисов на Go

    habr.com/ru/articles/793166/

    #go #httpсервер #юниттестирование #сквозное_тестирование