Ashd är en modulär HTTP-server mjukvara baserad på ett flerprogramarkitektur. & Nbsp; De flesta andra HTTP-servrar är monolitiska program med, kanske, laddningsbara moduler, är Ashd består av flera olika program, som var och en hanterar förfrågningar i olika sätt, passerar förfrågningar till varandra över ett enkelt protokoll (inte olikt Unix pipelines). Utformningen av Ashd innebär det ett antal trevliga egenskaper, följande är de mest anmärkningsvärda sådana.
Sanity av design
& Nbsp; Den Inkapsling mellan olika, oberoende program är ett exempel på standard Unix filosofi & ndash; varje program gör en sak bara, men gör det bra (hoppas jag). Den rena avgränsning av funktioner gör varje program att vara mycket liten och enkel & ndash; närvarande, varje program i samlingen (inklusive ens kärn HTTP parser program, htparser, så länge man inte räknar sin helt frivilligt, genomförande SSL) genomförs i mindre än 1000 rader C-kod (och de flesta är betydligt mindre än), så att de kan lätt studeras och förstås.
Säkerhet
& Nbsp; Sedan varje program körs i en process av sin egen, kan man tilldelas rätt behörighet. Mest anmärkningsvärda av allt, säkerställer userplex program som servering av användar hemkataloger (/ ~ användar / webbadresser, om man så vill) bara händer av en kod som faktiskt är inloggad som användaren i fråga; och htparser programmet, som är det enda program som talar direkt med kunderna, kan köras mycket väl som en icke-användare (som ingen) och bli chroot'ed i en tom katalog.
Konfiguration sanity
& Nbsp; Återigen, eftersom varje program hanterar bara en enkel uppgift, dess konfiguration kan göras ganska enkelt. Det finns inget behov för dirplex programmet, som hanterar endast service från fysiska kataloger, att bry sig om virtuella kataloger, virtuella värdar, HTTP protokollparametrar eller autentisering; precis som det inte finns något behov av patplex mönsterpassning att veta om filtyper eller kataloghierarkier. Varje program konfiguration filformat kan hållas så enkla som möjligt, och de flesta program är konfigurerade enkelt med kommandoradsalternativ.
Persistens
& Nbsp; Även Ashd är en multi-processprogram, det är inte i samma mening som t.ex. Apache. Varje begäran handler fortsätter att köra på obestämd tid och inte leka flera kopior av sig själv, vilket innebär att all processtillståndet kvarstår mellan förfrågningar & ndash; sessionsdata kan hållas i minnet, att anslutningar back-end tjänster kan hållas öppna, och så vidare
Vad är nytt i den här versionen:.
- Denna version lagt till stöd för chunked request-organ, förbättrad övergripande beteende när föraren program är överbelastade, förbättrad avstängning beteende, och fasta och förbättrade olika mindre saker.
Vad är nytt i version 0.11:
- dirplex konfiguration gjordes mer användbar, och standardkonfigurationsfiler förbättrades.
- Det fanns också ett gäng mindre stabilitetsförbättringar, buggfixar och liknande.
Vad är nytt i version 0.10:
- Denna version lägger konfigurationsalternativ för att skicka information till handler processer, och förbättrar dokumentationen.
Vad är nytt i version 0.9:.
- Ackumulerade mindre fixar
Vad är nytt i version 0.6:.
- Stöd för epoll sattes för att göra htparser mer skalbar
- felhantering i dirplex har gjorts anpassningsbar och återanvändbara.
- Det finns en allmän massa buggfixar och andra förbättringar för att gå runt.
Vad är nytt i version 0.5:
- Ett antal buggfixar och tillägg av katalogen lokala matchningen till dirplex handler.
Kommentarer hittades inte