sparcs-simple-http-server

To start

npm start

과제 끝난 코멘트

다 구현한 다음 코드를 보니 session 관리는 express 처럼 req에 method를 추가해서 하는 것이 훨씬 깔끔했을 것 같다 그리고 사용하는 함수들은 별도의 파일을 만들어서 관리하는 것이...

(하지만 refactoring하기 귀찮아서 그냥 제출!)

과제 목적

이 과제의 목적은 HTTP 요청 및 응답에 대한 이해와 우리가 평소 자주 사용하는 Express와 같은 프레임워크의 소중함을 아는 것이다.

구현 사항

  • HTTP 버전이 1.1이 아닐 경우 사용자에게 적절한 응답 코드 보내 요청 거절하기 (완료)
  • 라우팅 정보 (다음 경로로 GET 요청이 왔을 때)
    • / : public/index.html 전송 (완료)
    • /login : public/login.html 전송 (완료)
  • / 경로의 경우 유저의 로그인 상태 확인 (완료)
    • 로그인하지 않은 유저는 /login으로 리디렉션 (완료)
  • 로그인 상태는 쿠키로 관리하되 클라이언트가 아닌 서버 측에서 관리한다 (완료)
    • /login에서 유저가 로그인 버튼을 클릭할 경우 쿠키를 통해 유저가 로그인 했음을 저장하고 /로 이동 (완료)
    • index.html에서 로그아웃 버튼을 클릭할 경우 쿠키를 제거해 로그아웃 상태로 전환하고 /login으로 이동 (완료, 서버측에서 관리한다는 것을 읽고, session 종료가 아닌 authorization 제거로 구현... 바꾸기 귀찮다)
  • 이외의 요청에는 404 응답과 함께 public/not-found.html 전송 (완료)


다음 문서를 참고해보세요

https://nodejs.org/api/http.html