사용자가 웹 페이지에 접속할 때 웹 서버가 사용자의 컴퓨터에 저장하는 작은 양의 데이터.
웹 페이지에서는 쿠키를 확인하여 로그인 상태나 장바구니에 사웊ㅁ이 담겨 있는지를 확인.
웹 서버는 쿠키를 사용자의 컴퓨터에 저장한 뒤 쿠키가 필요할 때 사용자의 컴퓨터에 요청하고 사용자의 컴퓨터는 저장된 쿠키를 웹 서버에 전송
쿠키는 사용자의 컴퓨터에 텍스트 파일 형태로 저장되며 주로 다음과 같은 목적으로 사용
<?php
// setcookie() 함수를 이용하여 'userid'라는 쿠키에 문자열 'transferhwang' 저장
// time() 함수를 이용하여 쿠키의 유효 시간 설정(초 단위)
setcookie("userid","transferhwang");
setcookie("username","ㅎㅅㅎ",time()+60);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<?php
// isset() 함수를 통해 변수 값이 설정되어 있는지 판단, 설정되어 있으면 true, 설정되어 있지 않으면 false 반환
// 조건문이 true라면 쿠키의 값들을 $userid와 $username에 저장
// 조건문이 false라면 경고문 출력
if(isset( $_COOKIE["userid"] ) && isset( $_COOKIE["username"] ) ){
$userid=$_COOKIE["userid"];
$username=$_COOKIE["username"];
?>
userid 쿠키 : <?=$userid ?><br>
username 쿠키 : <?=$username?><br>
<?php
} else{
?>
쿠키는 생성되지 않음!
<?php
}
?>
</body>
</html>
<?php
// setcookie() 함수를 이용하여 'userid'라는 쿠키에 문자열 'transferhwang' 저장
// time() 함수를 이용하여 쿠키의 유효 시간 설정(초 단위)
setcookie("userid","transferhwang",time()-3600);
setcookie("username","ㅎㅅㅎ",time()-3600);
?>
사용자의 컴퓨터에 정보가 저장되는 쿠키와 달리 세션(session)은 보안을 이유로 사용자의 컴퓨터와 웹 서버에 모두 정보를 저장
웹 사이트를 방문하는 사용자의 컴퓨터에는 세션 ID(SID)정보를 저장하고, 웹 서버에는 사용자의 컴퓨터 세션 ID에 대응되는 세션 정보를 저장
사용자의 컴퓨터 세션 ID가 유출되더라도 별다른 정보가 없고 주요 정보가 웹 서버에 저장되어 있기 때문에 쿠키보다 보안성이 강함
<?php
// session_start()로 초기화해야 세션을 사용 가능
// 배열 형태의 전역 변수인 $_SESSION[]의 인덱스에 세션 변수의 이름을 넣어 등록
session_start();
$_SESSION["userid"]="transferhwang";
$_SESSION["username"]="ㅎㅅㅎ";
$userid=$_SESSION["userid"];
$username=$_SESSION["username"];
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
등록된 세션(userid) : <?=$userid?><br>
등록된 세션(username) : <?=$username?>
</body>
</html>
<?php
// session_start()로 초기화해야 세션을 사용 가능
// 배열 형태의 전역 변수인 $_SESSION[]의 인덱스에 세션 변수의 이름을 넣어 등록
// unset() 함수를 사용하여 세션을 삭제
session_start();
// $_SESSION["userid"]="transferhwang";
// $username=$_SESSION["username"]="ㅎㅅㅎ";
// $userid=$_SESSION["userid"];
// $username=$_SESSION["username"];
unset($_SESSION["userid"]);
unset($_SESSION["username"]);
?>
쿠키(Cookie) : 클라이언트 메모리에 저장
세션(Session) : 서버 메모리에 저장