-
Notifications
You must be signed in to change notification settings - Fork 1
WebServ Structure
Ryu(Paul) edited this page Jan 20, 2023
·
1 revision
-
작성일 : 2023-01-20
-
변경사항 정리
- 기존의 core processor 로 통합되어 있던
MethodProcessor
와MsgComposer
를 끄집어 내며,core Processor
의 기능을 폐지 -
ErrorHandler
가 에러를 핸들링하는 과정에서 에러페이지를 만드는 것이 용도가 명확해 지는 것으로 판단하여,에러 검출 시 이에 대해 처리하여 MsgComposer로 이동
, 기존에 만들어진Entity
가 존재 한다면 해당Entity 를 지우고
,에러 페이지를 위한 Entity
와 함께MsgComposer
로 가는 루틴으로 변경. - 이를 통해
MsgComposer
는에러의 존재 여부를 인지하지 않고
, 그냥지정된 HTTP 본문(에러페이지 일 수도 있고, 아닐 수도 있다)
과 함께 쓸 HTTP 메시지를 작성하여ReqHandler
로 전달한다. - 기존의
LogHandler
는ErrorHandler
에서 에러를 검출 시 바로 로깅하러 갈 수 있는 로직이었으나, ErrorHandler의 용도 개편에 따라 반드시ReqHandler
에서 결론지어진 내용들을 기준으로 Log 메시지를 제작하여 남기는 것으로 수정함.
- 기존의 core processor 로 통합되어 있던
WebServ Structure 1.0
- 작성일 : 2023-01-18
- InitProcessor
- configure file 읽고 유효성 검사
- configure file 클래스 인스턴스
- Server init
- ReqHandler
- listen
- client 이벤트 발생 시 client HTTP 메시지를 수용한다.
- validation 검사를 통해 Client 와 커넥션을 맺을 지 검사한다.
- ResController 에서 처리 가능한 형태로 파싱을 마무리하고, 이를 전달한다.
- CoreController
- MethodProcessor
- 메소드를 기준으로 나눠져서, 각각에 대한 적절한 처리를 진행한다.
- CGI 처리 파트로 전달 및 반환값 받기
- MsgComposer
- 최종 정리된 entity 에서 최종 메시지를 합성함
- HTTP response 제작
- MethodProcessor
- ResHandler
- Client에게 전달 역할
- 성공적인 전달 이후 logging 진행
- set cookies
- LogHandler
- 로그 정보를 throw로 받거나, 최종 마무리와 함께 전달
- 로깅 작업으로 파일 남김
- 로깅을 바탕으로 Response Handling이 필요한 부분에서 작업 진행