-
항해 5주차 주특기 숙련 쿠키와 세션카테고리 없음 2023. 2. 10. 21:47
-
- 쿠키와 세션이란?
- 쿠키(Cookie): 브라우저가 서버로부터 응답으로 Set-Cookie 헤더를 받은 경우 해당 데이터를 저장한 뒤 모든 요청에 포함하여 보냅니다.
- 데이터를 여러 사이트에 공유할 수 있기 때문에 보안에 취약할 수 있습니다.
- 쿠키는 userId=user-1321;userName=sparta 와 같이 문자열 형식으로 존재하며 쿠키 간에는 세미콜론(;) 으로 구분됩니다.
- 위에 구문에서 userId가 name이고 = 뒤에 user-1321이 value값이다.
- 세미콜론 뒤에는 여러개의 쿠키로 구분된다.
- 클라이언트는 서버에 요청(Request)을 보낼 때 자신이 보유하고 있는 쿠키를 자동으로 서버에 전달하게 됩니다. 여기서 클라이언트가 전달하는 쿠키 정보는 Request header에 포함되어 서버에 전달되게 됩니다.
- 세션(Session): 쿠키를 기반으로 구성된 기술입니다. 단, 클라이언트가 마음대로 데이터를 확인 할 수 있던 쿠키와는 다르게 세션은 데이터를 서버에만 저장하기 때문에 보안이 좋으나, 반대로 사용자가 많은 경우 서버에 저장해야 할 데이터가 많아져서 서버 컴퓨터가 감당하지 못하는 문제가 생기기 쉽습니다.
쿠키는 실제 정보를 주기 때문에 보안에 취약하다.
서버에 저장되있는 데이터를 자물쇠로 세션은 그 자물쇠를 열 수 있는 열쇠를 할당해준다고 생각하자.
매번 서버에 있는 db에 접근을 해서 데이터를 가져와야 되기 때문에 사용자가 많은 경우,
서버에 저장해야 할 데이터가 많아져서 서버 컴퓨터가 감당하지 못하는 문제가 생기기 쉽습니다.
그러나 나중에 cache DB 나 Radis를 이용한다면 좀 더 효율적이고 부하가 적게 사용할 수 있다.
-