Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

다히의 개발일지

Session & Cookie 본문

다히의 피땀눈물/ETC

Session & Cookie

mindarrrr 2019. 6. 28. 16:55

우선, 프로젝트 (로그인 화면 구현) 관련해서 참조한 url 정보

https://kuzuro.blogspot.com/2018/04/13.html

http://www.mungchung.com/xe/spring/21229

 

[ 세션과 쿠키 ]

필요성 : , HTTP 프로토콜이 비연결성, STATELESS 하기 때문이다.

HTTP는 요청과 응답을 주고받을 때 지속적으로 연결되어 있지 않다. , 클라이언트가 서버로 REQUEST를 날리고, 서버가 클라이언트에게 RESPONSE로 응답을 주면 그 둘은 서로 모르는 사이가 된다.

클라이언트와 서버의 통신이 한 번 이루어지고 끝이 나면 서버는 데이터를 저장하지 않는다,(STATELESS)

 

쿠키 : 클라이언트에 저장되는 데이터인데, 쿠키에 로그인 정보를 저장해 놓으면 매번 REQUEST요청시 쿠키도 자동으로 전송되어 로그인이 끊기지 않는 것처럼 느낄 수 있다. 서버가 어떤 주기 동안 클라이언트의 상태를 알아줬으면 하는 데이터를 저장한다. EX) 쇼핑몰 장바구니에 사용

 

단점 쿠키는 브라우저에 저장되는 값이기 때문에 보안에 취약하다. 또한, 하나의 도메인에서 설정한 쿠키 값이 20개를 초과하면 가장 적게 사용된 쿠키부터 지워진다.

 

세션 : 서버에 저장되는 데이터,,, 더 구체적으로 이야기하면서버에 데이터를 저장한다기 보다 서버에서 클라이언트의 상태를 유지하는 수단!

일정 시간동안 같은 브라우저로부터 들어오는 일련의 요구를 하나의 상태로 보고 , 그 상태를 서버에 유지시키는 기술!

세션은 DB. 파일, 메모리, 쿠키 등 사용자 재량에 따라 저장을 할 수 있다.

위에서 설명했듯이 쿠키에는 session id 저장하면 된다. 그러기 위해서는 우선 서버에서 세션을 생성한 세션 id 쿠키에 알려줘야 한다. 이때는 Set-Cookie헤더에 seesion_id 담아서 response 함께 전달한다.

단점 - 세션은 서버의 자원을 사용하기 때문에 미세하더라도 서버에 부하를 준다. 때문에 속도가 느려질 수도 있다.

 

 

1.      로젝트 구성에 VO를 넣어주어 필요할 때에 데이터를 꺼내 쓸 수 있도록 하였다.

2.     션을 사용하기 위해서는 HttpSession session 을 추가해주거나 HttpSession session = request.getSession(); 객체로 생성해주어야 한다.

3.     RedirectAttributes를 사용한 이유는 get방식으로 값을 전달받아 처리할 데이터가 있기 때문이다(msg를 사용)

4.     Session.setAttribute(“name”, value); 를 사용하면 세션 값을 저장할 수 있다.

5.     션을 사용하기 위해서 jsp 파일에서 ${}를 사용해주었다. servlet에서 만든 값들을 사용하기 위해서 쓰는 것