[Web Back-End] Cookie & Session

인바다·2023년 10월 3일
0

Back-End

목록 보기
2/2

http protocol은 request처리 후 연결 해제(stateless)하므로 로그인 같이 연결 상태 유지해야하는 경우 문제 발생.
client 단위 상태 정보 유지를 위해 Cookie와 Session 사용

1. Cookie

Clinet 컴퓨터에 file로 저장

1) 구성 요소

이름, 값, 유효기간, 도메인, 경로

2) 동작 순서

request -> WAS가 Cookie 생성 -> HTTP Header에 Cookie 넣어 응답 -> Browser가 PC에 Cookie 저장 및 전송

3) Method

// 생성
Cookie cookie = new Cookie(String name, String value);

// 값 설정
cookie.setValue(String value);
String value = cookie.getValue();

// 도메인 설정
cookie.setDomain(String domain);
String domain = cookie.getDomain();

// 유효기간 설정
cookie.setMaxAge(int expiry);
int expiry = cookie.getMaxAge();

response.addCookie(cookie);
Cookie[] cookies = request.getCookies();

1. Session

웹 서버 접속한 상태 저장
server의 memeory에 Object로 저장

1) 동작 순서

request -> Cookie에 session id 있는지 확인 후 없으면 생성하여 client에게 전달

3) Method

// 생성
HttpSession session = request.getSession();

session.getAttribute(String name, Object value);
Object obj = session.getAttribute(String name);

session.removeAttribute(String name);
session.invalidate();

0개의 댓글