1) Express 라우터 개요
Express 라우터 사용시 라우트를 파일로 옮기고 분류가 가능해짐.
- 라우터 객체는 미들웨어와 라우터의 인스턴스이다.
- 그래서 라우터를 하나의 작은 앱으로 본다.
- 라우트와 미들웨어가 존재하고 완전한 앱을 만들기 위해 다른 라우터와 결합한다.
- 라우트를 파일마다 나눠서 넣는 것도 가능.
Ex) 유기견 보호소 앱
/shelters
POST /shelters
/shelters/:id
/shelters/:id/edit
/dogs
POST /dogs
/dogs/:id
OR
<중첩 라우트> : /dogs/:id/reviews/reviwId
- app.use를 이용해 router 변수만 가져오면 사용가능.
결과
better way
- 라우트 객체에 /shelter 라는 경로를 지정해주면 라우트에서 반복되는 shetlers를 피할 수 있음
2) Express 라우터와 미들웨어
- admin 파일에 라우트 미들웨어를 사용함으로써 해당 페이지에 접근할 때만 적용되는 기능을 적용시킬 수 있다.
결과
isAdmin = true (query)
3) 쿠키 개요
쿠키란?
- 서버는 웹페이지에서 사용자 요청을 받고 쿠키를 반환할 수 있음.
- 그것이 사용자의 고유한 식별자가됨.
- 그리고 사용자가 재방문 할 때 마다 쿠키가 요청과 함께 전송됨.
- 따라서 쿠키가 사용자를 식별하는 고유한 식별자나 플로그로서 작용함.
4) 쿠 키 보내기
쿠키 설정 메소드 : res.cookie(name, value, [options])
5) 쿠키 parser 미들웨어
쿠킹을 파싱하려면 cookie parser 라는 패키지 설치 필요.
쿠키 name value 변경 시
- 중요한 정보를 저장할 때 에는 쿠키 사용 x
- 쿠키는 단순히 요청과 요청사이에 상태성을 부여.
6) 쿠키 서명하기
쿠키서명은 정보의 암호화가 아닌 단순 조작화에 가까움.
- 쿠키값을 숨기기 위한 것은 아님 (grape라고 나와있음)
- signed된 cookie 까지 요청시 grape 볼 수 있음.
- 쿠키의 값을 Agrape 에서 Aapple로 변경하니 value가 false로 뜨는걸 확인 가능하다 따라서 쿠키가 누군가에 의해 변경됬거나 무결성이 사라졌다는 사실을 알 수 있다.