Только что обновил веб-сервер обслуживающий экспериментальный хаб @
Zotum второй бетой версии 2.3.0 веб-сервера
H20.
Вкратце, это лёгкий быстрый HTTP/2 веб-сервер с поддержкой всех последних стандартов и техник имеющих отношений к веб. Разрабатывает его один из активных авторов этих самых стандартов
Казухо Оку.
В новой бете подъехало
три вагона изменений, дополнений и фиксов. Из любопытного заметил что во встроенный интерпретатор mruby добавлено множество дополнительных модулей.
H20 mruby gems спойлер
================================================
Config Name: host
Output Directory: ../../../.build/mruby/host
Binaries: mruby-config, mrbc
Included Gems:
mruby-array-ext - Array class extension
mruby-dir
mruby-compiler - mruby compiler library
mruby-eval - standard Kernel#eval method
mruby-io - IO and File class
mruby-require
mruby-errno
mruby-digest
mruby-input-stream - 1.0.1 - InputStream class for Rack
mruby-json
mruby-onig-regexp
mruby-fiber - Fiber class
mruby-class-new-fiber-safe - 0.0.1 - Class#new that allows use of fiber in constructor
mruby-env
mruby-time - standard Time class
mruby-file-stat
mruby-sprintf - standard Kernel#sprintf method
mruby-print - standard print/puts/p
mruby-range-ext - Range class extension
mruby-inline-struct - inline structure
mruby-pack - Array#pack and String#unpack method
mruby-socket - standard socket class
mruby-bin-strip - irep dump debug section remover command
- Binaries: mruby-strip
mruby-bin-mirb - mirb command
- Binaries: mirb
mruby-struct - standard Struct class
mruby-bin-config - mruby-config command
mruby-compar-ext - Enumerable module extension
mruby-kernel-ext - Kernel module extension
mruby-metaprog - Meta-programming features for mruby
mruby-bin-mrbc - mruby compiler executable
mruby-symbol-ext - Symbol class extension
mruby-enum-ext - Enumerable module extension
mruby-enumerator - Enumerator class
mruby-string-ext - String class extension
mruby-random - Random class
mruby-enum-lazy - Enumerator::Lazy class
mruby-objectspace - ObjectSpace class
mruby-toplevel-ext - toplevel object (main) methods extension
mruby-class-ext - class/module extension
mruby-object-ext - Object class extension
mruby-hash-ext - Hash class extension
mruby-numeric-ext - Numeric class extension
mruby-error - extensional error handling
mruby-bin-mruby - mruby command
- Binaries: mruby
mruby-exit - Kernel#exit method
mruby-proc-ext - Proc class extension
mruby-math - standard Math module
mruby-sleep - 0.0.1
mruby-method - Method and UnboundMethod class
mruby-enum-chain - Enumerator::Chain class
================================================
Среди которых для меня наиболее интересен Socket реализующий, соответственно, поддержку работы с сокетами. Получается, что теперь можно на уровне конфигурации H20 писать любые сетевые, да и не только, приложения. К примеру, наверняка можно включить написанную мною в прошлом году на #
Ruby в качестве разминки для ума реализацию DNS-over-HTTPS (осталось понять кому оно надо :-)).
Вкратце с основными фишками и с некоторыми особенностями использования встроенного mruby на реальном примере эксплуатации H20 в крупном проекте можно ознакомиться в одной из
презентаций автора.
К релизу, вероятно, следует ожидать включение поддержки протокола #
QUIC который теперь стандартизирован как HTTP/3, который сейчас активно допиливается в связанных с H20 библиотеках.
#
russian #
lang_ru #
HTTP #
www #
sysadm #
support #
TLS