본문 바로가기
Today I learned

2020 09 25

by soheemon 2020. 9. 25.

stateless한 HTTP의 세계에서 서버가 지속적으로 클라이언트의 정보를 저장할 수 있는 방법

* 서버에 데이터를 저장하는 방법
-서버는 요청이 들어오면 세션객체(맵)를 만들고 이 세션객체에 아이디를 달아서(세션ID) 세션객체는 메모리에 저장하고 세션아이디는 클라이언트에게 건내주고 클라이언트는 세션아이디를 쿠키에 저장하여 모든 요청마다 세션아이디를 같이 보내준다.
- 클라이언트로부터 요청이 들어오면 세션아이디를 찾아서, 맵핑된 세션객체를 가져온다
- 단점: 세션객체는 하나만 생성가능. 하나의 서버만 세션을 들고 있을수 있기때문에 여러 서버가 세션을 공유하기 위해서는 별도의 DB가 필요하다.

* 클라이언트에 데이터를 저장하는 방법
JWT - 메시지가 헤더 페이로드 시그니처로 구분되어 있으며, 아주 간단히 생각하자면 암호화된 쿠키라고 할 수 있겠다.(실제 쿠키로도 저장이 되지만..) 클라이언트에 저장되는 데이터라는 한계때문에 유출되면 위험한 데이터는 저장을 하지 않는듯 하다.





'Today I learned' 카테고리의 다른 글

2020 09 27  (0) 2020.09.27
2020 09 26  (0) 2020.09.26
2020 09 24  (0) 2020.09.24
2020 09 23  (0) 2020.09.23
2020 09 21  (0) 2020.09.21

댓글