-
Http Header에 들어가는 값인 Cookie
쿠키(Cookie)
쇼핑몰의 장바구니 서비스 같이 클라이언트가 정보를 유지하는 Stateful한 성격의 서비스에 유용한 기능.
기본적인 HTTP의 단점은 정보를 유지할 수 없는 Connectionless, Stateless의 성격을 가졌다. 이를 해결하기 위해 Cookie라는 개념이 도입되었다.웹 서버가 접속한 클라이언트 브라우저에게 지시하여 사용자의 로컬 컴퓨터에 파일 또는 메모리에 저장하는 작은 기록 정보 파일이다.
Cookie와 Session(HTTP Session) 둘다 HTTP를 Stateful을 가능하게 만든 방법이다. 큰 차이는 상태정보를 어디에 저장하는 위치다. Cookie는 브라우저에 의해 클라이언트 측에 저장되고 Session은 서버 측에 저장된다.
쿠키(Cookie) 단점
Cookie에 대한 정보를 매 헤더(Http Header)에 추가하여 보내기 때문에 상당한 트랙픽을 발생시킨다.
중요 정보를 Cookie에 저장했다가 유출되면 보안에 대한 문제점도 발생할 수 있다.쿠키(Cookie) 처리 흐름
1. 최초 통신에서는 Client가 Server의 Cookie를 가지고 있지 않은 상태에서 request한다.
2. Server는 request의 헤더에 Cookie가 포함되어 있지 않은 것을 확인 할 수 있다, Ex user id, password, 조작상태, 방문횟수 등의 정보에 의해 필요한 Cookie를 저장해서 response한다.
3. Client의 브라우저는 받은 Cookie를 보존한다.
4. Client는 두 번째 연결에서 HTTP헤더에 쿠키를 실어서 Server에 request한다.
5. Server는 받은 Cookie로부터 Client를 구분하여 처리한다.쿠키(Cookie) 구성요소
Name: 쿠키의 이름
Value: 쿠키의 저장된 값
Expires: 쿠키가 삭제되는 날자
Domain: 쿠키가 사용되는 도메인
Path: 쿠키를 반환할 경로를 결정
Secure: 보안 연결 설정
HttpOnly: Http외에 다른 통신 사용 가능 설정쿠키(Cookie) 종류
Session Cookie: 보통 만료시간(Expire date) 설정하고 메모리에만 저장되며 브라우저 종료시 쿠키를 삭제.
Persistent Cookie: 장기간 유지되는 쿠키(예를 들어 Max-Age 1년), 파일로 저장되어 브라우저 종료와 관계없이 사용.
Secure Cookie: HTTPS에서만 사용, 쿠키 정보가 암호화 되어 전송.
Third-Party Cookie: 방문한 도메인과 다른 도메인의 쿠키 보통 광고 베너 등을 관리할 때 유입 경로를 추적하기 위해 사용.'WebService' 카테고리의 다른 글
Token(토큰) (0) 2022.08.17 HTTP Request Response structure (0) 2022.08.10 multipart form-data 와 boundary (0) 2022.08.08 Firebase을 사용한 제품 (0) 2022.05.02 웹서버 개발 (0) 2021.06.26 인터넷 온라인 쇼핑몰 구축 비용 (0) 2021.06.26 Asp(Active Server Pages) (0) 2021.06.26 Blazor 블레이저 (0) 2021.06.26