일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- STS
- JSP
- maven
- Spring
- typeorm
- Next.js
- exit code = -805306369
- BRIN
- PG-Strom
- NextJs
- Eclipse
- Spring Boot
- Windows 10
- Can't load AMD 64-bit .dll on a IA 32-bit platform
- tomcat
- springboot
- 서브라임 텍스트
- HTML Special Entity
- OGM
- Java
- orioledb
- PostgreSQL
- loadcomplete
- NestJS
- tortoise SVN
- MariaDB
- Spring Cloud
- Maven Project
- graph database
- HTML Code
- Today
- Total
Undergoing
쿠키와 세션 본문
둘 다 웹 컴포넌트가 데이터를 주고받기 위해 만들어진 기술. 웹 페이지 이동시 사용자의 정보를 보낼 때 기록되는 정보들
쿠키(Cookie)
- 사용자가 웹 사이트에 접속했을 때 서버에서 받은 정보들을 하드디스크에 저장. 필요할 때마다 하드에서 읽어옴
- 웹 브라우저를 닫아도 정보가 저장되어 있음
- 사용자 식별/정보유지, 세션 유지에 사용됨
- 구(舊) 기술, 최근에는 보안상 중요도가 낮은 정보를 처리할 때에 많이 사용됨
세션(Session)
- 웹 브라우저를 거치지 않고 웹 서버에 있는 데이터 영역을 통해 데이터를 전달하는 기술
- 두 개체의 활성화된 접속을 의미
- 서버는 클라이언트에 세션 ID를 부여. 세션 ID는 일정시간이 지나면 삭제됨
쿠키와 세션의 비교(http://binalee.tistory.com/39)
|
쿠키 |
세션 |
저장 공간 | 클라이언트 | 서버 |
저장 형식 |
텍스트 |
Object |
만료시점 | 쿠키 저장시 설정. 설정하지 않으면 브라우저 종료할 때 만료 |
클라이언트 로그아웃 설정한 시간동안 반응이 없을 때 |
사용하는 리소스 | 클라이언트 리소스 | 서버 리소스 |
용량 제한 | 한 도메인 당 20개 쿠키 하나당 4KB 총 300개 |
서버가 허용하는 만큼 |
쿠키 저장하는 방법
- Cookie cookie = new Cookie("쿠키 이름", "쿠키 값");
- response.addCookie(new Cookie("쿠키 이름", "쿠키 값"));
쿠키 데이터 읽는 방법
- Cookie cookies[] = request.getCookies(); // 웹 브라우저가 보낸 모든 쿠키를 Cookie 배열로 만들어서 리턴
- String name = cookie.get?Name(); // 객체에서 이름을 비교하며 찾고자 하는 쿠키를 찾음
- String value = cookie.getValue(); // 쿠키 값을 가져옴
쿠키 데이터 삭제하는 방법
- cookie.setMaxAge(3600); // 괄호 안은 쿠키의 수명. 3600초가 최대 수명
- cookie(-1); // 웹 브라우저가 끝날 때 쿠키 삭제
- cookie(0); // 쿠키 바로 삭제
특정 경로명을 갖는 URL로만 전송하는 방법
- cookie.setPath("[URL]");
JSP 내에서 쿠키 읽어오게 하기
----------------------------------------------------------------------
<%!
private String getCookieValue(Cookie[] cookies, String name)
{
String value = null;
if(cookies ==null) return null;
for(Cookie cookie : cookies)
{
if(cookie.getName().equals(name)) return cookie.getValue();
}
return null;
}
%>
----------------------------------------------------------------------
서블릿 클래스에서 세션 사용하기
- HttpSession session = request.getSession(); // 세션 시작
- session.setAttribute("데이터 이름", "데이터 값); // 세션 데이터 영역에 저장
- HttpSession session = request.getSession(); // 세션 정보를 가져옴
- String str = (String) session.getAttribute("데이터 이름"); // 데이터 값을 본래의 타입으로 쓰기 위해 String 캐스트 연산 수행
- session.removeAttribute("데이터 이름"); // 세션에서 삭제할 데이터를 파라미터로 넘김
- session.invalidate(); // 세션 종료를 알림
'개발 > Web Development' 카테고리의 다른 글
서블릿의 Life Cycle (0) | 2012.05.14 |
---|---|
쿠키 입력과 삭제 (0) | 2012.05.10 |
JSP 기초 (0) | 2012.05.08 |
문제풀이 - 간단한 웹 페이지 구현하기 (0) | 2012.05.08 |
문제풀이 - 100 이하의 피보나치 수열을 작성하는 Servlet 구현하기 (0) | 2012.05.08 |