C++로 웹서버를 만들 생각을 왜했는지는 이미 기억이 가물가물. @_@
- J2EE에서 등장했던 Filter개념으로 모든 플러그인들을 해결한다.
- Filter들의 Chain이 기본이다. Chain의 끝에는 Static 파일 Service가 들어간다.
- 각각의 Filter들은 Request와 결합하여 하나의 Task를 생성한다
- 특정 Request에 연관된 Task들은 Task Chain이라고 부른다.
- Task Chain은 내포한 Task들이 종료될때마다 다른 쓰레드로 이동이 가능해야 한다.
- Network IO는 전담 Multiplexer쓰레드에서 처리한다
- 스크립트 확장은 특정 스크립트 파일을 Filter로 만들어주는 ScriptingEngine에서 처리하도록 한다.
- Request/Response의 Body부분은 std::iostream의 shared_ptr로 관리한다