쿠키(Cookie)?
웹 서버에 의해 생성되어 클라이언트에 저장되는 작은 데이터 파일이다.
Http는 비 상태 프로토콜이다
~> 이말은 즉 Http서버는 사용자의 상태를 유지하지 않는다는 말이다. 하지만, 많은 기업 웹사이트들은 웹사이트 이용자의 상태를 유지관리한다.
쿠키 사용에 필요한 4가지 요소:
- HTTP 응답 메시지의 쿠키 헤더 라인(cookie header line)
- 다음 HTTP 요청 메시지의 쿠키 헤더 라인
- 쿠키 파일 : 이용자 호스트의 웹 브라우저가 관리
- 웹사이트(또는 웹서버)의 백엔드(back-end) DB
- 쿠키는 웹사이트에서 사용자의 취향, 접속 가능 시간 등의 민감한 내용을 알 수 있도록 한다
- 쿠키를 이용하여 사용자의 이름, 메일 주소, 신용카드 정보들과 결합이 가능하다
위와 같은 특징을 활용하여 다음과 같이 활용이 가능하다
- 사용자 식별 시
- 장바구니
- 추천목록
- 사용자의 세션 상태 (web email)
쿠키는 어떻게 상태를 유지할까? HOW??
- HTTP message들에 사용자의 상태를 담아 전송한다.
세션( Session )?
- 쿠키를 기반으로 하고 있다. 하지만 사용자 정보 파일을 브라우저에 저장하는 쿠키와는 달리 세션은 서버 측에서 관리한다
- 사용자에 대한 정보를 서버에 두기 때문에 쿠키보다 보안에 좋다, 하지만 사용자가 많아질수록 서버 메모리를 많이 잡아먹게 된다.
세션의 활용
- 로그인 같이 보안상 중요한 작업을 수행할 때 사용
|
|
쿠키(Cookie)
|
세션(Session)
|
|
저장 위치
|
클라이언트
|
서버
|
|
저장 형식
|
text
|
Object
|
|
속도
|
빠르다
|
느리다
|
|
보안
|
낮다
|
높다
|
|
만료 시점
|
쿠키 저장시 설정
(브라우저가 종료되도,자동 삭제X)
|
브라우저 종료시 삭제
(기간 지정 가능,로그아웃시)
|
|
용량 제한
|
총 300개
하나의 도메인 당 20개
하나의 쿠키 당 4KB
|
서버가 허용하는 한 용량제한 없음
|
Session이 좋아 보이는데 그렇다면 왜 쿠키를 사용하지? why?
앞에서 말했다시피 세션은 서버를 사용하기 때문에 서버 메모리가 감당할 수 없어지면 속도가 많이 느려지게 되기 때문에 쿠키가 어떤 면에서는 유리할 때도 있다.
Conclusion
그렇다면 내가 앞으로 웹을 만들 때 어떻게 해야 할까? 이 둘을 적절히 활용해서 세션을 사용할 때는 세션을 쿠키를 사용할 땐 쿠키를 잘 사용해야겠다
'몰입형학습' 카테고리의 다른 글
| HTTP 상태코드 (0) | 2022.09.15 |
|---|---|
| [JAVA]멀티캐스팅을 이용한 채팅 프로그램 (0) | 2022.09.06 |
| 절대 경로 AND 상대 경로 (0) | 2022.09.04 |
| GET 방식과 Post 방식 (0) | 2022.09.04 |
| OSI 계층 모델 7계층 ~ (0) | 2022.09.04 |
댓글