Cookies
- 쿠키란
-> 서버가 클라이언트에게 보내는 작은 정보의 조각.
하나의 쿠키에는 어디에서 왔는지 또 언제까지 유효한지등이 표시
-> 원래 NetScape에서 제안했으나, 현재는 인터넷의 한 표준
=> ex) 응답헤더
Set-Cookie:NAME=VALUE;expires=DATE;path=PATH;domain=DOMAIN;secure
-> 단점
=> 사용자가 쿠키를 받아들이지 않을 수도 있음.
=> 브라우저가 쿠키를 지우너하지 않을 수도 있음.
-> 제한사항
=> 보통 하나의 쿠키에 담을 수 있는 Byte 수는 4kb이며,
하나의 브라우저가 도메인에 대해 저장할 수 있는 쿠키의 개수(보통 20개) 로 한계가 있음.
-> 웹 서버가 쿠키를 반응 헤더로서 웹 브라우저에 전달하면, 웹 브라우저는 쿠키를 메모리에 기억한 후,
차후 연결 시에 요청 헤더로서 그 쿠키 값을 서버에 전달.
- 쿠키의 만료일
-> 다음과 같은 Set-Cookie 헤더가 브라우저에 전송되었다고 할 때
Set-Cookie:NAME=Naver:path=/;expirse=Wednesdays, 09-Nov-99 23:00:00
-> 만료일시가 명시적으로 지정되어 있으며 쿠키는 영속적인 저장매체에 저장
=> IE인 경우 Temporary Internet Files 디렉토리에 개별적 파일로 저장.
-> 만료일시가 명시적으로 기술되어 있지 않으면 쿠키는 브라우저가 사용하는 메모리에 저장되며 브라우저 종료시 사라짐.
-> 클라이언트가 서버에게 보내는 Request Header에는 다음과 같이 포함되어 전송(Cookie : NAME = Naver)
Cookies 메소드
- clone()
-> 쿠키 복사 리턴.
- getComment()
-> 주석이 있으면 주석을, 없으면 null 리턴
- getMaxAge()
-> 쿠키의 최대 유효시간을 초단위로 돌려줌
- getName()
-> 쿠키 이름 리턴
- getPath()
-> 클라이언트가 쿠키를 돌려줄 서버의 경로를 리턴
- getSecure()
-> 브라우저가 쿠키를 보안 프로토콜로 보내야하면 true, 아니면 false 리턴
- getValue()
-> 쿠기 값 리턴
- getVersion()
-> 쿠키가 만족하는 프로토콜의 버전 리턴
- setComment(String purpose)
-> 주석 설정
- setDomain(String pattern)
-> 도메인 한정 패턴 기술. 점으로 시작. 최소의 두개의 점을 포함(.naver.com일시 www.naver.com 유효 / www.mail.naver.com 유효하지 않음.
- setMaxAge(int expiry)
-> 초단위로 쿠키의 최대시간을 기술. 이 값 이전에 브라우저 종료시 하드디스크에 쿠키값을 보관.
음수 : 브라우저 종료시 쿠키삭제 / 0 : 쿠키를 즉시삭제
- setPath(String uri)
-> 클라이언트가 쿠키를 돌려줄 서버의 경로 설정
- setSecure(boolean flag)
-> 브라우저가 쿠키를 Https나 SSL와 같은 보안 프로토콜로 보내야하는지 확인
- setValue(String newValue)
-> 쿠키가 만들어진 후 쿠키에 새로운 값을 세팅.
- setVersion(int v)
-> 쿠키의 버전 세팅. 새롭게 만들어지는 쿠키는 default 0.
- HttpServletResponse 인터페이스의 메소드
-> addCookie(Coookie cookie)
=> 웹 브라우저에 전송할 쿠. 여러개를 전송할 수 있음.
- HttpServletRequest 인터페이스의 메소드
-> Cookie[] getCookies()
=> 브라우저가 전송한 쿠키들.
'프로그래밍 정리 > Web' 카테고리의 다른 글
Servlet의 LifeCycle (0) | 2013.07.11 |
---|---|
Servlet의 요청 처리 메서드 (0) | 2013.07.11 |
Servlet 요청 방식 (0) | 2013.07.11 |
Servlet (0) | 2013.07.11 |