Per tal de dur a terme la implementació del XicHttpd i no quedar-me a mig camí, he decidit separar la programació en tres fases, de manera que al finalitzar-ne cada una el servidor tingui una funcionalitat independent de les fases posteriors. Els objectius de cada fase són els següents:
Fase 1: Programar el servidor per tal que resti a l'espera de rebre una única connexió simultània, i la implementació de les funcionalitats mínimes del protocol HTTP. També en aquesta fase es llegeix el fitxer de configuració i s'actualitzen les variables necessàries tot i que no s'utilitzin totes encara.
Fase 2: Programació dels threads i del control dels mateixos, de manera que convertim el producte de la fase anterior en un servidor multi-fil que permeti l'accés de varis clients simultanis. També caldrà programar els signals que el servidor tractarà per tal de finalitzar la seva execució de manera segura.
Fase 3: Programar les funcionalitats addicionals com ara l'enviament de contingut comprimit amb gzip i del sistema de loggin complert. També si em dona temps, implementar el mètode POST per solicitar contingut dinàmic en un entorn controlat.