< 쿠키 >

①.쿠키(cookie)?

1) 클라이언트와 웹 서버 간의 상태를 지속적으로 유지하는 방법

2) 쿠키는 세션과 달리 상태 정보를 웹 서버가 아닌 클라이언트에 저장된다.

- 예를 들어 어떤 웹사이트를 처음 방문한 사용자가 로그인 인증을 하고 나면 아이디와 비밀번호를 기록한 쿠키가 만들어지고 그 다음부터 사용자가 그 웹 사이트에 접속하면 별도의 절차를 거치지 않고 쉽게 접속할 수 있다.

3) 클라이언트의 일정 폴더에 정보를 저장하기 때문에 웹 서버의 부하를 줄일 수 있다는 것이 장점 이다.

4) 웹 브라우저가 접속했던 웹 사이트에 관한 정보와 개인 정보가 기록되기 때문에 보안에 문제가 있을 수 있다.


< ②.쿠키의 동작 과정 >

1) 쿠키 생성 단계 :주로 웹 서버 측에서 생성한다. 생성된 쿠키는 응답 데이터와 함께 저장되어 웹 클라이언트에 전송 된다.

2) 쿠키 저장 단계 :웹 브라우저는 응답 데이터에 포함된 쿠키를 쿠키 저장소에 보관한다. 쿠키는 종류에 따라 메모리나 파일로 저장된다.

3) 쿠키 전송 단계 :웹 브라우저는 한 번 저장된 쿠키를 요청이 있을때 마다 웹 서버에 전송 한다.

웹 서버는 웹 브라우저가 전송한 쿠키를 사용하여 필요한 작업을 수행할 수 있다. 

 


<③.Cookie class의 메서드 종류 >

메소드 반환 유형 설명
getComment() String 쿠키에 대한 설명을 반환
getDomain() String 쿠키의 유효한 도메인 정보를 반환
getMaxAge() int 쿠키의 사용 가능 기간에 대한 정보를 반환
getName() String 쿠키의 이름을 반환
getPath() String 쿠키의 유효한 디렉터리 정보를 반환
getSecure() boolean 쿠키의 보안 설정을 반환
getVersion() int 쿠키의 버전을 반환
setComment(String) void 쿠키에 대한 설명을 설정
setDomain() void 쿠키의 유효 기간을 설정
setPath() void 쿠키의 유효한 디렉터리를 설정
setSecure() void 쿠키의 보안을 설정
setValue() void 쿠키의 값을 반환
setVersion() void 쿠키의 버전을 설정

< 세션 >

①.세션(cookie)?

1) 클라이언트와 웹 서버 간의 상태를 지속적으로 유지하는 방법

 - 예를 들면 웹 쇼핑몰에서 장바구니나 주문 처리와 같은 회원 전용 페이지의 경우 로그인 인증을 통해 사용 권한을 부여

 - 다른 웹 페이지에 갔다가 되돌아와도 로그인 상태가 유지되므로 회원 전용 페이지를 계속 사용할 수 있다.

 - 이렇게 사용자 인증을 통해 특정 페이지를 사용할 수 있도록 권한 상태를 유지하는 것

2) 웹 서버에서만 접근이 가능하므로 보안 유지에 유리하며 데이터를 저장하는데 한계가 없다.

3) 오직 웹 서버에 존재하는 객체로 웹 브라우저마다 하나씩 존재하므로 웹 서버의 서비스를 제공받는 사용자를 구분하는 단위가 된다.

4) 웹 브라우저를 닫기 전까지 웹 페이지를 이동하더라도 사용자의 정보가 웹 서버에 보관되어 있어 사용자 정보를 잃지 않는다.


< 쿠키와 세션의 차이 >

메소드 쿠키 세션
사용 클래스 Cooke 클래스 HttpSession 인터페이스
저장 형식 텍스트 형식 Object형
저장 장소 클라이언트 서버(세션 아이디만 클라이언트에 저장)
종료 시점 쿠키 저장시 설정(설정하지 않을 경우
웹 브라우저 종료 시 소멸)
정확한 시점을 알 수 없다
리소스  클라이언트의 리소스 사용 서버의 리소스 사용
보안 클라이언트에 저장되므로 사용자의
변경이 가능하여 보안에 취약
서버에 저장되어 있어 상대적으로 안정적

 

 

출처: 인터넷프로그래밍 교안

'Developer 지식' 카테고리의 다른 글

서버프로그램 구현  (0) 2023.05.22
스프링과 스프링부트  (0) 2023.05.16
오버라이딩과 시그니처의 연관성  (0) 2023.05.14
숫자 리터럴(literal)  (0) 2023.05.14
PDT,UDDT/기본자료형,사용자 정의 자료형  (0) 2023.05.14

+ Recent posts