session 3

Cookies And Sessions

들어가며웹 개발에서 상태를 유지하는 것은 인터렉티브 하고 사용자 친화적인 애플리케이션을 만드는 데 매우 중요하다. 상태관리는 웹 애플리케이션이 서로 다른 페이지나 유저 인터렉션 사이에서도 정보를 기억하는 능력을 말한다. 이 목적에 맞는 두 개의 기본 기술이 쿠키와 세션이다. 웹 개발자는 이 기술들이 어떻게 구현되어 있고 관리되는지 이해하고 있어야 한다. 이 포스팅은 쿠키와 세션의 차이점, 동작방식, best practice를 설명한다.쿠키란 무엇인가?쿠키는 웹서버에 의해 브라우저에 저장되는 작은 데이터 조각이다. 쿠키는 유저의 로그인 정보다 설정값등을 기억하고 있다. 이러한 정보들을 통해 유저는 웹 애플리케이션을 이용하며 개인화된 경험을 할 수 있다.쿠키의 목적유저의 세션 추적유저의 설정정보 저장개인화된..

Programming 2024.07.24

Use Redis to Session Storage

들어가며분산 시스템 환경에서 세션 인증방식의 문제 해결방법 중 하나인 세션 스토리지를 스프링 환경에서 간편하게 구현합니다.분산 시스템 환경에서 세션 관리 방법분산 시스템에서 세션을 이용하게 되면 각 서버마다 관리하는 세션 아이디가 다르기 때문에 유저는 로그인이 풀리는 경험을 하게 됩니다.이러한 상황을 방지하기 위한 세 가지 방법이 존재합니다.Sticky SessionSession ClusteringSession Storage이 중 스프링에서 제공하는 기능을 통해 Redis를 Session Storage로 이용해 봅니다.의존성 추가implementation 'org.springframework.session:spring-session-data-redis'implementation 'org.springfra..

Spring 2024.05.19

스프링에서 관리하는 세션의 생성구조와 키의 암호화

들어가며토이 프로젝트의 유저 인증방식을 세션으로 선택한 후 내부동작을 탐색하며 작성하는 포스팅입니다.세션 관리의 내부동작을 왜 찾아봤을까?오해는 여기에서 시작되었습니다. 아래와 같은 코드를 작성 후 브라우저를 확인해 보았습니다.public ResponseEntity demo(HttpServletRequest request) { HttpSession session = request.getSession(); session.setAttribute("JSESSIONID", 1234); return ResponseEntity.ok().build();} 스프링에서 제공하는 `HttpServletRequest` 객체에 세션을 설정만 하면 브라우저에서 사진과 같이 쿠키가 설정되어 있는 모습을 확인할 수 있습니다...

Spring 2024.05.16