////
Search
🔜

6. 응용 계층 - HTTP의 응용

쿠키

HTTP는 Stateless 프로토콜! 그렇지만?

HTTP는 기본적으로 스테이트리스 프로토콜 → 모든 HTTP 요청 메시지를 독립된 메시지로 간주
쿠키는 HTTP의 stateless 특성을 보완하기 위한 대표적 수단
서버에서 생성 & 클라이언트 측에 저장되는 <이름, 값> 쌍 형태의 데이터 (이름,값 외에도 추가적인 속성값도 보유 가능)
Name, Value, Domain, Path, Expires / Max-Age
서버는 쿠키를 생성해 클라이언트에 전송, 클라이언트는 쿠키를 저장해 두었다가 이후 같은 서버에 요청을 보낼 때 요청 메시지에 쿠키를 포함해 전송
서버 → 클라이언트 : 응답 메시지의 Set-Cookie 헤더 활용
여러 쿠키를 전달할 때는 여러 개의 Set-Cookie 헤더를 사용하기도 함
; 를 활용해 쿠키의 속성을 명시 가능
클라이언트 → 서버 : 요청 메시지의 Cookie 헤더 활용
유의사항
특정 서버로부터 쿠키를 전달받았다면 다음부터 해당 서버에 요청을 보낼 때 전달받은 쿠키를 자동으로 전송한다는 점

여러 쿠키 속성

domain, path : 쿠키를 전송할 도메인과 경로를 제한 가능
Expires : 쿠키의 만료시점 명시
[요일, DD-MM-YY HH:MM:SS GMT] 형식
Max-Age : 쿠키의 유효기간 명시
초 단위 유효기간
Secure : HTTPS를 통해서만 쿠키 송수신이 가능하도록 하는 속성
HttpOnly : JS를 통한 쿠키의 접근을 제한하고, 오직 HTTP 송수신을 통해서만 쿠키에 접근하도록 하는 방식
참고) 웹 스토리지 : 로컬 스토리지와 세션 스토리지

캐시

응답받은 자원의 사본을 임시 저장하여 불필요한 대역폭 낭비와 응답 지연을 방지하는 기술

콘텐츠 협상

보안 : SSL/TLS와 HTTPS