Programming/Spring, Spring Data JPA, Querydsl

Spring - Cookie (쿠키)

잇(IT) 2023. 5. 26. 10:07

- HTTP에서 세션 트레킹은 '쿠키(Cookie)'라는 존재를 이용한다. '쿠키'는 문자열로 만들어진 데이터의 조각으로 서버와 브라우저 사이에서 요청(Request)이나 응답(Response) 시에 주고받는 형태로 사용된다.

- 쿠키는 문자열로 되어있는 정보로 가장 기본적인 형태는 '이름(name)'과 '값(value)'의 구조이다.

-쿠키를 주고받는 기본적인 시나리오는 다음과 같다.

1. 브라우저에서 최초로 서버를 호출하는 경우에 해당 서버에서 발행한 쿠기가 없다면 브라우저는 아무것도 전송하지 않는다.

2. 서버에서는 응답(Response) 메시지를 보낼 때 브라우저에게 쿠키를 보내주는데 이때 'SetCookie'라는 HTTP 헤더를 이용한다.

3. 브라우저는 쿠키를 받은 후에 이에 대한 정보를 읽고, 이를 파일 형태로 보관할 것인지 메모리상에서만 처리할 것인지를 결정한다. 이 판단은 쿠키에 있는 "유효기간(만료기간)"을 보고 판단한다.

4. 브라우저가 보관하는 쿠키는 다음에 다시 브라우저가 서버에 요청(Request)할 때 HTTP 헤더에 'Cookie'라는 헤더 이름과 함께 전달한다.(쿠키에는 경로(path)를 지정할 수 있어서 해당 경로에 맞는 쿠키가 전송)

5. 서버에서는 필요에 따라서 브라우저가 보낸 쿠키를 읽고 이를 사용한다.

- 첫 요청 때 위와 같이 서버에서 Set-Cookie를 통해 브라우저로 쿠키 정보를 전송한다.

- 쿠키가 브라우저에 저장된 이후로 브라우저에서 서버에 요청을 할 때 이전에 저장한 쿠키 정보를 서버로 전송한다.

728x90

'Programming > Spring, Spring Data JPA, Querydsl' 카테고리의 다른 글

Spring - bean, root-context, servlet-context,  (0) 2023.05.29
Spring - 정리 (2023.05.26.FRI)  (0) 2023.05.26
Spring - TO DO (1)  (0) 2023.05.25
Spring - Lombok 라이브러리  (0) 2023.05.25
Spring - JDBC  (0) 2023.05.25