Ashd est un logiciel de serveur HTTP modulaire basée sur une architecture multi-programme. & Nbsp; considérant que la plupart des autres serveurs HTTP sont des programmes monolithiques avec, peut-être, des modules chargeables, Ashd est composé de plusieurs programmes différents, dont chacun gère les demandes dans différents façons, en passant demandes à l'autre sur un protocole simple (un peu comme les pipelines Unix). La conception de Ashd apporte un certain nombre de propriétés intéressantes, les suivantes étant les plus remarquables les.
Sanity de création
& Nbsp; La séparation des préoccupations entre les différents programmes, indépendants est un exemple de la philosophie & ndash Unix standard; chaque programme fait une seule chose, mais le fait bien (je l'espère). La délimitation des fonctions propres permet à chaque programme soit très petite et simple & ndash; actuellement, chacun des programmes de la collection (y compris même le programme de l'analyseur HTTP de base, htparser, tant que l'on ne compte pas son, tout à fait facultative, la mise en œuvre de SSL) est mis en œuvre en moins de 1000 lignes de code C (et la plupart sont considérablement inférieure à celle), leur permettant d'être facilement étudiées et comprises.
Sécurité
& Nbsp; Comme chaque programme se exécute dans un processus de son propre, il peut être affecté autorisations appropriées. Le plus remarquable de tous, le programme userplex assure que servir de répertoires personnels des utilisateurs (/ ~ utilisateur / URL, si vous voulez) se produit uniquement par code qui est effectivement connecté en tant que l'utilisateur en question; et le programme de htparser, étant le seul programme qui parle directement avec les clients, peut fonctionner parfaitement comme un non-utilisateur (comme personne) et être un chroot dans un répertoire vide.
Configuration santé mentale
& Nbsp; Encore une fois, puisque chaque programme gère seulement une tâche simple, sa configuration peut être fait assez simple. Il ne est pas nécessaire pour le programme dirplex, qui gère seul service de répertoires physiques, de se soucier de répertoires virtuels, hôtes virtuels, les paramètres du protocole HTTP ou l'authentification; tout comme il ne est pas nécessaire pour le modèle matcher patplex savoir sur les types de fichiers ou des hiérarchies de répertoires. Le format de fichier de configuration de chaque programme peut être aussi simple que possible, et la plupart des programmes sont configurés simplement avec des options en ligne de commande.
Persistance
& Nbsp; Bien Ashd est un programme multi-processus, il ne est pas dans le même sens que par exemple Apache. Chaque gestionnaire de demande continue à fonctionner indéfiniment et ne reproduit pas des copies multiples de lui-même, ce qui signifie que tout l'état du processus persiste entre les demandes et ndash; services données de session peuvent être gardées en mémoire, les connexions au back-end peuvent être maintenues ouvertes, etc.
Ce qui est nouveau dans cette version:.
- Cette version a ajouté le support pour request-organismes chunked, l'amélioration de comportement global lorsque les programmes sont surchargés de gestionnaire, Amélioration du comportement d'arrêt, et diverses choses moins fixes et améliorées.
Qu'est-ce que de nouveaux dans la version 0.11:
- Configuration dirplex a été plus utile, et les fichiers de configuration par défaut ont été améliorés.
- Il y avait aussi un tas d'améliorations de stabilité, des corrections de bugs mineurs, et autres.
Quoi de neuf dans la version 0.10:
- Cette version ajoute des options de configuration pour transmettre des informations à des processus de gestionnaire, et améliore la documentation.
Ce qui est nouveau dans la version 0.9:.
- corrections mineures cumulées
Quoi de neuf dans la version 0.6:.
- Soutien à epoll a été ajouté pour faire htparser plus évolutive
- La manutention dans dirplex erreur a été commise personnalisable et réutilisable.
- Il ya un tas de corrections générale et d'autres améliorations pour tout le monde.
Ce qui est nouveau dans la version 0.5:
- Un certain nombre de corrections de bugs et l'ajout de répertoire local correspondant au gestionnaire dirplex.
Commentaires non trouvées