본문 바로가기
네트워크

[네트워크] 네트워크 면접 준비

by doflamingo 2019. 10. 30.

1. Cookie vs Session

 

쿠키(Cookie)

 

- Cookie는 connectionless 하고, stateless한 HTTP의 단점을 해결하기 위해서 도입된 개념

- 웹 서버가 브라우저에게 지시하여 사용자의 로컬 컴퓨터에 파일 또는 메모리에 저장하는 기록 정보 파일이다.

- 파일에 담긴 정보는 인터넷 사용자가 같은 웹사이틀 방문할 때마다 읽히고 수시로 새로운 정보로 바뀔 수 있다.

 

 

쿠키(Cookie) 구성요소

 

- Name: 쿠키의 이름 

- Value: 쿠키의 저장된 값

- Expires/Max-Age: 쿠키의 삭제 시간 (Max Age를 설정하지 않으면 브라우저가 종료될 때 쿠키가 삭제)

- Domain: 쿠키가 사용되느 도메인을 지정(현재 도메인과 다를 경우 브라우저가 거부, 즉 다른 도메인에 대한 쿠키를 사용불가)

- Path: 쿠키를 반환할 경로를 설정, 설정된 경우 Path가 일치하는 경우에만 쿠키를 전송한다. 명시하지 않으면 서버의 경로로 설정된다.

- Secure: 보안 연결 설정

- HttpOnly: Http외에 다른 통신 사용 가능 설정

 

쿠키(Cookie) 종류

 

- Session Cookie: 만료시간을 설정하고 메모리에만 저장되며, 브라우저 종료시 쿠키를 삭제.

- Persistent Cookie: 장기간 유지되는 쿠키( Max-Age설정), 파일로 저장되어 브라우저 종료와 관계 없이 사용

- Secure Cookie: Https 에서 사용, 쿠키 정보 암호화

- Third-Party Cookie: 방문한 도메인과 다른 도메인의 쿠키 (보통 광고 배너)를 관리 할때 유입경로를 추적하기 위해 사용.

 

 

Cookie를 이용한 서버 클라이언트 흐름

 

쿠키(Cookie)의 단점

- 쿠키에 대한 정보를 매 헤더에 추가하여 보내기 때문에 트래픽이 커진다

- 쿠키가 유출되면 보안에 대한 문제점이 발생

 

 

 

세션(Session)

 

- HTTP 세션 id를 식별자로 구별하여 데이터를 사용자의 브라우저에 쿠키형태가 아닌 접속한 서버 DB에 정보를 저장합니다.

- 클라이언트는 HTTP Session id를 쿠키로 메모리 저장된 형태로 가지고 있습니다.

- 메모리에 저장하기 때문에 브라우저가 종료되면 사라진다.

 

세션(Session) 절차

 

- 클라이언트가 서버에 리소스 요청

- 서버에서 Request를 통해 쿠키에서 Session id를 확인 한 후 없으면 Set-Cookie를 통해 새로 발급한 Session Id를 보낸다. 

- 클라이언트는 HTTP Request 헤더의 Session id를 포함하여 원하는 Resource를 요청한다.

- 서버는 Session id를 통해 해당 세션을 찾아 클라이언트의 상태 정보를 유지하며 적절한 응답을 한다. 

 

 

세션(Session)의 단점

 

  • load-balancing/시스템 효율성에서 handling하기 어렵다.
  • 세션 저장 장치가 부족한 시스템에는 적합하지 않다.

 

Reference

https://nesoy.github.io/articles/2017-03/Session-Cookie

https://umbum.tistory.com/240

 

'네트워크' 카테고리의 다른 글

[네트워크] 네트워크 보안  (0) 2019.10.24
[네트워크] 네트워크 정리  (0) 2019.10.15
[네트워크] 네트워크 정리  (0) 2019.10.15
[네트워크] 네트워크 정리  (0) 2019.10.09
네트워크 정리  (0) 2019.10.09

댓글