서버에서 클라이언트로 쿠키 전달
사용자 로그인 세선 관리에 주로 사용함
쿠키에 만료날짜를 입력하면 영속 쿠키 (해당 날짜까지 쿠키 유지)
쿠키에 만료날짜를 생략하면 세션 쿠키 (브라우저 종료 시 까지만 유지)
쿠키에 도메인을 명시하면 명시한 도메인 + 서브 도메인까지 쿠키 유지
(ex. domain=example.org 로 지정 시 dev.example.org 도 쿠키 유지)
쿠키에 도메인을 생략하면 현재 문서만 쿠키 유지
(ex. exapmle.org 에서만 쿠키 유지하고 dev.example.org 는 쿠키 미사용)
쿠키에 path를 명시하면 명시한 경로를 포함하여 하위 경로까지 쿠키 유지
(ex. path=/home 일 경우 /home/room1 은 가능하고 /hello 는 불가능)
응답에서 사용
캐시 사용 유무와 만료 시간등을 표현
캐시 사용 시 만료 시간 전이면 서버에 요청하지 않고 브라우저에서 저장한 캐시를 사용함.
만료 시간이 지나면 서버에 다시 요청하여 데이터를 받음.
최초 데이터 요청 시 마지막 수정일을 서버로부터 받은 뒤 브라우저가 저장함.
캐시 시간이 만료되었을 때 해당 데이터를 서버에 보내고, 서버에서는 마지막 수정일을 비교 함.
"if-modified-since" 와 함께 사용됨.
최초 데이터 요청 시 서버로부터 데이터를 HASH 값으로 받은 뒤 브라우저가 저장함.
캐시 시간이 만료되었을 때 해당 데이터를 서버에 보내고, 서버에서는 HASH 값을 비교 함.
"if-none-match" 와 함께 사용됨.
캐시 만료 시 클라이언트에 가지고 있는 Last-Modified 를 서버에 보냄.
서버는 파일이 수정되었으면 200 OK 와 함께 변경된 Last-Modified 를 전송.
파일이 수정되지 않았으면 304 304 Not Modified 응답.
304 응답 시에는 헤더만 전송하고 Body 는 전송하지 않음. (수정되지 않았기에 바디 전송 불필요)
캐시 만료 시 클라이언트에 가지고 있는 etag 가 있으면 서버에 보냄.
서버에서는 파일이 수정되었으면 200 OK 와 함께 변경된 etag 를 전송.
파일이 수정되지 않았으면 304 304 Not Modified 응답.
304 응답 시에는 헤더만 전송하고 Body 는 전송하지 않음. (수정되지 않았기에 바디 전송 불필요)