본문 바로가기

웹 기초/php

쿠키

PHP가 생성한 쿠키의 생명 주기

 

1. 웹 브라우저에서 PHP스크립트 URL에 접속하면 스크립트에서 PHP내장함수 setcookie()를 호출한다. 

2. PHP스크립트는 쿠키명과 값을 HTTP set-cookie 헤더에 담아 브라우저에 전송한다. 

   쿠키명은 mycookie, 값은 value라고 가정하자. 

3. 브라우저는 HTTP 헤더를 읽고 mycookie 쿠키에 value를 저장한다. 

4. 이후 해당 웹사이트에 페이지를 요청할 때마다 브라우저는 mycookie=value를 HTTP쿠키 헤더에 추가한다. 

5. 페이지 요청에 HTTP 쿠키 헤더가 있으면 PHP는 자동으로 $_COOKIE 배열에 쿠키 정보를 할당한다. 

   $_COOKIE['mycookie']에 'value' 문자열이 저장된다. 


setcookie()

 

- html의 header() 처럼 http 응답헤더를 추가한다. 

프로토콜 정의에 따라 헤더는 페이지 본문보다 먼저 전송하므로, 헤더 함수도 페이지 본문을 출력하기 전에 호출해야한다. 그렇지 않으면 오류가 발생한다. 

- 쿠키를 생성할 때 만료 시각을 지정하지 않으면 브라우저를 종료하기 전까지 매 요청마다 쿠키를 전달한다.

- time() 함수는 현재 시각을 유닉스 타임스탬프 형식으로 반환한다. 여기에 추가 시간을 초로 환산해 더하면 쿠키 만료 시각을 구할 수 있다. 

- 쿠키에 넣을 수 있는 값은 문자열이나 숫자만 이고, 배열같은 복잡한 데이터구조는 넣을 수 없다. 


- 쿠키를 생성하면 웹 사이트를 방문할 때마다 모든 쿠키 데이터를 웹 서버로 전송한다. 

- 쿠키보안=컴퓨터의 보안과 직결한다. 

- 웹 브라우저의 종료=쿠키 종료 

'웹 기초 > php' 카테고리의 다른 글

PHP 매직상수  (0) 2020.02.26
MVC 모델  (0) 2020.01.26
2020.01.02-2020.01.03까지 PHP필기정리  (0) 2020.01.09