일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 건담베이스
- javascript
- 一日一つメソッド
- 연습문제
- Flutter
- 일본어
- 인프런
- C로 시작하는 컴퓨터 프로그래밍4판
- rails7
- vscode
- java
- 반다이몰
- 日本語
- CSS
- nico
- html
- jsp
- Python
- ruby
- springboot
- 디지몬
- 자바
- メソッド
- DART
- 単語
- rails
- 건담
- 비즈니스일본어
- Web
- Spring
- Today
- Total
AR삽질러
Cookie 본문
1. Cookie
- JSP에서 쿠키(Cookie)는 클라이언트 측에서 데이터를 저장하고 유지하기 위한 방법 중 하나로 쿠키를 사용하면 사용자가 웹 사이트를 방문할 때마다 서버는 브라우저에 데이터를 보내고 브라우저는 그 데이터를 저장되고 그 후 사용자가 같은 웹 사이트를 방문할 때마다 브라우저는 저장된 데이터를 서버에 전송한다.
- 쿠키는 일반적으로 사용자의 로그인 정보, 방문한 페이지, 개인 설정 등을 저장하기 위해 사용되며 쿠키는 서버에서 생성되지만 브라우저에서 유지되고 브라우저가 종료되거나 쿠키가 만료되기 전까지 유지된다.
2. Cookie의 특징
- 쿠키는 클라이언트 측에서 관리고 서버는 쿠키를 생성하여 클라이언트에게 전달한다.
- 쿠키는 클라이언트 측에서만 유지되기 때문에 다른 클라이언트에서는 쿠키를 읽을 수 없다.
- 쿠키는 브라우저가 종료 후에도 유지되고 만약 쿠키의 수명을 지정하지 않았을 때는 브라우저가 종료될 때까지 유지됩니다.
- 쿠키는 보안에 취약하기 때문에 중요한 정보를 저장하지 않도록 주의해야 합니다.
- 쿠키의 치명적인 단점은 사용자가 웹 브라우저에 쿠키거부기능이 설정되어 있으면 쿠키 본래의 목적인 웹 브라우저와의 연결을 지속시키는 기능을 수행할 수 없게 됩니다.
3. Cookie의 구성요소
- 이름(Name): 쿠키를 식별하는 데 사용되는 이름.
- 값(Value): 쿠키에 저장되는 정보. 문자열, 숫자, 객체 등 모든 유형의 데이터를 저장할 수 있다.
- 도메인(Domain): 쿠키가 유효한 도메인을 지정. 이 도메인에 속한 웹 페이지만이 쿠키를 읽을 수 있다.
- 경로(Path): 쿠키가 유효한 경로를 지정. 이 경로에 속한 웹 페이지만이 쿠키를 읽을 수 있다.
- 만료 시간(Expires or Max-Age): 쿠키가 유효한 기간을 지정. 만료 시간이 지나면 브라우저가 쿠키를 삭제합니다.
- 보안(Secure): 보안 연결(HTTPS)을 통해만 쿠키에 접근할 수 있도록 지정
- HttpOnly: JavaScript를 통해 쿠키에 접근할 수 없도록 지정
쿠키는 주로 로그인 정보, 사용자 설정, 사용자 추적 등에 사용될수 있지만 중요한 정보를 저장하지 않도록 주의해야 하며, 보안을 위해 SSL/TLS(HTTPS)를 사용하고, 중요한 정보는 서버 측에서만 처리해야 한다.
4. 쿠키 생성예제
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
Cookie cookie = new Cookie("name", URLEncoder.encode("AR삽질러", "utf-8"));
response.addCookie(cookie);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>쿠키생성하기</title>
</head>
<body>
<h1>Cookie Example</h1>
<HR>
쿠키의 이름 = <%=cookie.getName() %><br>
쿠키의 값 = <%=cookie.getValue()%>
</body>
</html>
5. 쿠키의 값 읽어오기
<%@page import="java.net.URLDecoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>쿠키 목록</title>
</head>
<body>
<h1>쿠키 목록</h1>
<HR>
<%
Cookie[] cookies = request.getCookies();
if(cookies != null && cookies.length > 0){
for(int i = 0; i < cookies.length; i++){
%>
<%= cookies[i].getName() %> =
<%=URLDecoder.decode(cookies[i].getValue(), "utf-8") %><br>
<%
}
}else{
%>
<h1>쿠키가 존재하지 않습니다.</h1>
<%} %>
</body>
</html>
6. 쿠키의 유효시간
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
Cookie cookie = new Cookie("hour", "1time");
cookie.setMaxAge(60); // 60초
response.addCookie(cookie);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>쿠키 유효시간</title>
</head>
<body>
<h1>유효시간이 1시간 hour쿠키 생성</h1>
</body>
</html>
'JAVA > JSP' 카테고리의 다른 글
JSP - 파일업로드 (0) | 2023.03.10 |
---|---|
Session (0) | 2023.03.10 |
JSP 개인프로젝트(12) - 게시판만들기(댓글관리) (0) | 2023.03.09 |
JSP 개인프로젝트(11) - 게시판만들기(페이징처리) (0) | 2023.03.07 |
JSP 개인프로젝트(10) - 게시판만들기(게시글수정, 삭제) (0) | 2023.03.01 |