Skip to content

WebServ Structure

Ryu(Paul) edited this page Jan 20, 2023 · 1 revision

WebSev Structure 1.2

  • 작성일 : 2023-01-20

  • 변경사항 정리

    1. 기존의 core processor 로 통합되어 있던 MethodProcessorMsgComposer를 끄집어 내며, core Processor의 기능을 폐지
    2. ErrorHandler가 에러를 핸들링하는 과정에서 에러페이지를 만드는 것이 용도가 명확해 지는 것으로 판단하여, 에러 검출 시 이에 대해 처리하여 MsgComposer로 이동, 기존에 만들어진 Entity가 존재 한다면 해당 Entity 를 지우고, 에러 페이지를 위한 Entity와 함께 MsgComposer로 가는 루틴으로 변경.
    3. 이를 통해 MsgComposer에러의 존재 여부를 인지하지 않고, 그냥 지정된 HTTP 본문(에러페이지 일 수도 있고, 아닐 수도 있다)과 함께 쓸 HTTP 메시지를 작성하여 ReqHandler로 전달한다.
    4. 기존의 LogHandlerErrorHandler에서 에러를 검출 시 바로 로깅하러 갈 수 있는 로직이었으나, ErrorHandler의 용도 개편에 따라 반드시 ReqHandler에서 결론지어진 내용들을 기준으로 Log 메시지를 제작하여 남기는 것으로 수정함.
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 제작
  • ResHandler
    • Client에게 전달 역할
    • 성공적인 전달 이후 logging 진행
    • set cookies
  • LogHandler
    • 로그 정보를 throw로 받거나, 최종 마무리와 함께 전달
    • 로깅 작업으로 파일 남김
    • 로깅을 바탕으로 Response Handling이 필요한 부분에서 작업 진행
Clone this wiki locally