학습기록남기기
2022_5_11_JSP_4일 본문
JSP4_0511
쿠키(Cookie)
- 웹 브라우저에서 서버로 어떤 데이터를 요청하면, 서버측에서는 알맞은 로직을 수행한 후 데이터를 웹 브라우저에 응답합니다
- 그리고 Http 프로토콜은 응답 후에 웹 브라우저와의 관계를 종료합니다.(비 연결성)
- 연결이 끊겼을 때 ,어떤 정보를 지속적으로 유지(ex.. 로그인 유지)하기 위한 수단으로 쿠키라는 방식을 사용합니다
- 쿠키는 서버에서 생성하며, 서버가 아닌 클라이언트측(local)에 정보를 저장합니다
- 서버에서 요청할 때마다 쿠키의 속성값을 참조 또는 변경할 수 있습니다.(요청할 때마다 쿠키를 포함해서 전송하기 때문)
- 쿠키는 개당 4kb로 용량이 제한적이며 ,300개까지(1.2MB)데이터 정보를 가질 수 있습니다.
쿠키 문법: 쿠키 클래스에서 쿠키 생성 → setter메서드로 쿠키의 속성 설정 → response객체에 쿠키 탑재 → 로컬 환경에 저장
쿠키는 문자열만 허용(특수문자, 공백 ,정수,객체 있으면 에러 발생)
request,response는 요청이 들어오면 생성되고 , 응답이 나가면 사라짐(초기화)
Session
- 세션도 쿠키와 마찬가지로 서버와의 관계를 유지하기 위한 수단입니다.
- 단, 쿠키와 달리 클라이언트의 특정 위치에 저장되는 것이 아니라, 서버상에 객체형태로 존재합니다.
- 서버당 하나의 세션 객체를 가질 수 있습니다. (브라우저 별 서로 다른 세션 사용) : 즉 객체는 하나지만 브라우저별로 다르게 동작한다 | 서버 끼리 세션 교환 불가능
- 세션 객체는 브라우저 창을 종료하면 삭제됩니다.(혹은 세션의 수명이 다했을 때 삭제)
- 따라서 세션은 서버에서만 접근이 가능하여 보안이 좋고, 저장할 수 있는 데이터에 한계가 없습니다.
- 세션은 클라이언트의 요청이 발생하면 자동생성되어 고유한 ID값을 클라이언트에 넘겨주며 이것은 쿠키에 저장됩니다.
- JSP에서는 session이라는 내장 객체를 지원하여 세션의 속성을 설정할 수 있습니다.
- 데이터 제한 없음(문자열,숫자,객체 허용)
쿠키 vs 세션
- 쿠키 대신에 세션을 사용하는 가장 큰 이유는 세션이 쿠키보다 보안에서 앞서기 때문입니다.
- 쿠키의 이름이나 데이터는 네트워크를 통해 전달되기 때문에 HTTP 프로토콜을 사용하는 경우 중간에서 누군가가 쿠키의 값을 읽어올 수 있습니다.
- 그러나 세션은 오직 서버에만 저장되기 때문에 중요한 데이터를 저장하기에 좋습니다.
- 세션을 사용하는 또 다른 이유는 웹 브라우저가 쿠키를 지원하지 않거나 강제로 사용자가 쿠키를 차단한 경우에도 사용할 수 있다는 점입니다.
- 세션은 여러 서버에서 공유할 수 없는 단점이 있습니다. 그러나 쿠키는 도메인을 이용해 쿠키를 여러 도메 인에서 공유할 수 있기 때문에 Naver, Daum과 같은 포털사이트들은 쿠키에 로그인 방식을 저장하는 것을 선호합니다
'수업_정리' 카테고리의 다른 글
| 2022_05_13_JSP_6일 (0) | 2022.05.13 |
|---|---|
| 2022_05_12_JSP_5일 (0) | 2022.05.12 |
| 2022_05_10_jsp_3일 (0) | 2022.05.10 |
| 2022_05_09_JSP_2일 (0) | 2022.05.09 |
| 2022_05_06_JSP_1일 (0) | 2022.05.09 |