쿠키
웹 브라우저 내에 쿠키 저장소가 존재한다.
- Set-Cookie : 서버에서 클라이언트로 쿠키 전달(응답)
- Cookie : 클라이언트가 서버에서 받은 쿠키를 저장하고, HTTP 요청시 서버로 전달한다
set-cookie : sessionId=abcd1234; expiress=Sat, 26Dec2020 00:00:00 GMT; path=/; domain=.google.com; Secure
쿠키의 사용처
- 사용자 로그인 세션관리
- 광고정보 트래킹
쿠키 정보는 항상 서버에 전송된다.
- 네트워크 트래픽 추가 유발
- 최소한의 정보만 사용(세션 id, 인증 토큰)
- 서버에 전송하지 않고, 웹 브라우저 내부에 데이터를 저장하고 싶으면 웹스토리지 참고
쿠키 사용 시 주의
- 보안에 감한 데이터는 저장하면 안된다.(주민번호, 신용카드)
쿠키 생명주기
- Expires Set-cooke : expires= ~~ 만료일이 되면 쿠키 삭제
0이나 음수를 지정하면 쿠키삭제
세션쿠키 : 만료날짜를 생략하면 브라우저 종료시 까지만 유지
영속쿠키 : 만료날짜를 입력하면 해당 날자까지 유지
쿠키 도메인 - Domain
쿠키 보안
- Secure
쿠키는 http, https 를 구분하지 않고 전송하지만 Secure를 적옹하면 https인 경우에만 전송한다.
- HttpOnly
XSS공격 방지, 자바스크립트에서 접근 불가, HTTP 전송에만 사용
- SameSite
XSRF 공격 방지, 요청 도메인과 설정된 도메인이 같은 경우에만 쿠키를 전송한다.