본문 바로가기
HTTP의 이해

Cookie /Cache

by dev_jisu 2023. 3. 12.

COOKIE

 

Set-Cookie : 서버에서 클라이언트로 쿠키 전송 

주로 사용자 로그인 세션 관리 / 광고 정보 트래킹

Set-Cookie: expires=sat,26 만료일 설정
Set-Cookie: max-age =(초) 만료 시간 설정
Set-Cookie: path 경로 지정 -하위 경로까지만 가능
Set-Cookie: Domain  
Set-Cookie: secure https인 경우만 쿠기 전송
Set-Cookie: httpOnly xxs 공격방지 /자바 스트립트 접근X
Set-Cookie: samesite XSRF공격 방지/ 요청도메인,설정도메인 같아야 쿠기 전송

쿠키 정보는 항상 서버에 전송

▶ 네트워크에 추가 트래픽 발생  so  최소한의 정보 사용 (세션id ,인증 토큰)

▶필요할때만 사용 (웹 스토리지) / 보안에 중요한 값 저장 X 

 

 

CACHE

한번 다운 로드된 값을 저장하여 한번 접속했던 페이지를 다시 들어 갔을 경우 데이터를 새로 받지 않게 해줌

cache-contol:max-age=60 캐시 저장 초 
cache-contol:no-cache 데이터 캐시 ,항상 원 서버에 검증 후 사용
cache-contol:no-store 메모리 사용후 최대한 빨리 삭제 /민감한 데이터에 사용 

프록시 서버 사용 

프록시 서버가 없다면 모든 사용자가 이미지 하나를 받는데 3초가 걸린다.

프록시 서버가 없을시

프록시 서버가 있다면 최초 다운로드는 4초 그러나 그 다음 이용자부터는 1초면 이미지를 다운 받을수 있다 

프록시 서버가 존재 할 경우

 

캐시 무효화

  cache-control:no-cache,no-store,must-revalidate(캐시 만료후 최초 원서버 검증)

  pragma:no-cache (이전버전 http/1.0하위호환)

must-revalidate 사용이유는 그림처럼 원서버가 다운시 no-cache 만 사용한다면 프록시 캐시에서

임의로 데이터 값을 줄수도 있음 그러나 must-revalidate 사용시 504에러로 나옴 

 

검증 헤더

위 그림처럼 업데이트 시 last-modified 사용시 다시 다운을 받아야 하는 상황이 생김 

그러나 위 그림처럼 태그를 넣어주면 바뀌었을 경우 태그를 확인하여 캐시를 다운 받는다. 

Etag if-match ,if-none-match
if-modified-since if-modified-since,if-unmodified-since :  last-modified

 

'HTTP의 이해' 카테고리의 다른 글

Http Api 설계  (0) 2023.03.12
Http 속성  (0) 2023.03.12
Http 메소드  (0) 2023.03.12
HTTP/HTTPS  (0) 2023.03.12
URI/URL/URN  (0) 2023.03.12

댓글