Кіріспе
NaviServer – C және Tcl тілдерінде жазылған жоғары өнімділіктегі веб-сервер. Оны веб-сайттар мен қызметтерді құру үшін екі тілдің кез келгенінде оңай кеңейтуге болады; 35-тен астам модуль бар (оның ішінде UDP, SMTP, LDAP, DNS, COAP сияқты протоколдарды қолдау немесе деректер базасымен интеграциялау мүмкіндігі бар). Жоба белсенді даму үстінде, NaviServer көбінесе C тілінде жазылған, өте жақсы түсіндірілген бастапқы коды бар, 35 үлескер 6000-нан астам өзгеріс енгізген, бұл 100 000-нан астам код жолынан тұрады. NaviServer Mozilla Public License (MPL) лицензиясы бойынша лицензияланған. Жақында қосылған жаңа мүмкіндіктер:
NaviServer is mostly written in C with a very well commented source code, had more than 6,000 commits made by 35 contributors
representing more than 100,000 lines of code. NaviServer is licensed under the terms of the Mozilla Public License (MPL). Recent new features include:
an internal watchdog for automatic server restarts
server internals exposed in a command line mode
thread shared arrays (atomic operations, dict support)
built in caching with cache transaction semantics (cache commit/rollback)
hot code swapping (update code in the running system without server restart)
asynchronous spooling of requests and replies
delivery of static files optionally with gzip or brotli compression with automatic re compression on updates
selective logging with color highlighting (non blocking)
efficient built in crypto support
mass virtual hosting
byte range requests for streaming and resumption of downloads
rich HTTPS support (server and client side SNI, OCSP Stapling)
built in HTTP/HTTPS client support, with log files
built in statistics (for mutex locks/rwlocks, cache, db handles, )
bandwidth management via multiple connection thread pools
WebSocket and IPv6 support
автоматты серверді қайта іске қосу үшін ішкі бақылаушы
сервердің ішкі құрамдарын командалық қатар режимінде көрсету
ортақ пайдаланылатын массивтер (атомдық операциялар, сөздік қолдауы)
кэш транзакциясы семантикасымен (кэш сақтау/кері қайтару) кіріктірілген кэш
серверді қайта іске қоспай, жұмыс істеп тұрған жүйеде кодты жаңарту (ыстық код алмасу)
сұраулар мен жауаптарды асинхронды түрде жинақтау
жаңартулар кезінде автоматты түрде қайта қысумен gzip немесе brotli қысылымымен статикалық файлдарды жеткізу
түсті бөлігі бар таңдамалы журналдау (тоқтатусыз)
тиімді кіріктірілген криптографиялық қолдау
масштабты виртуалды хостинг
ағынмен жүктеу және жүктеуді жалғастыру үшін байт диапазоны сұраныстары
толық HTTPS қолдауы (сервер және клиент жағындағы SNI, OCSP Stapling)
кіріктірілген HTTP/HTTPS клиенті, журналдық файлдармен
кіріктірілген статистика (mutex құлыптары/rw құлыптары, кэш, деректер базасы қолдаулары үшін)
көптеген қосылу жинақтары арқылы өткізу қабілетін басқару
WebSocket және IPv6 қолдауы
NaviServer is mostly written in C with a very well commented source code, had more than 6,000 commits made by 35 contributors
representing more than 100,000 lines of code. NaviServer is licensed under the terms of the Mozilla Public License (MPL). Recent new features include:
an internal watchdog for automatic server restarts
server internals exposed in a command line mode
thread shared arrays (atomic operations, dict support)
built in caching with cache transaction semantics (cache commit/rollback)
hot code swapping (update code in the running system without server restart)
asynchronous spooling of requests and replies
delivery of static files optionally with gzip or brotli compression with automatic re compression on updates
selective logging with color highlighting (non blocking)
efficient built in crypto support
mass virtual hosting
byte range requests for streaming and resumption of downloads
rich HTTPS support (server and client side SNI, OCSP Stapling)
built in HTTP/HTTPS client support, with log files
built in statistics (for mutex locks/rwlocks, cache, db handles, )
bandwidth management via multiple connection thread pools
WebSocket and IPv6 support
Тарих
NaviServer, AOL серверінің (4.10 нұсқасы) негізінде құрылған, AOL-дың ашық кодты веб-сервері. NaviServer жобасы 2005 жылдың шілдесінде AOLserver жобасынан бөлініп шыққан. Ол бірнеше протоколды қолдау арқылы, асинхронды I/O арқылы жоғары кеңейтімділікке қол жеткізу және жаңа мүмкіндіктерді дамытуда консервативті болмауды мақсат етеді. Тарихи тұрғыдан алғанда, NaviServer – 1990-шы жылдардың басында NaviSoft компаниясына тиесілі болған сервердің бастапқы атауы, жабық кодты өнім. 1995 жылы AOL оны сатып алды және 1999 жылы Mozilla-ны шығарғаннан кейін AOLserver ретінде ашық кодқа шығарды. Бұл достық бөлініс кодты оның бастапқы атына қайтарады. NaviServer-дің ірі қолданыстары – ArsDigita Community System және әсіресе OpenACS.