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
전송 (완료)