쿠키(Cookie)와 세션(Session)
이해하기 쉽고, 장황하지 않은 자료를 기반으로 강의를 진행합니다.
잔재미코딩 소식 공유
좀더 제약없이, IT 컨텐츠를 공유하고자, 자체 온라인 강의 사이트와 유투브 채널을
오픈하였습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
응원해주시면, 곧 좋은 컨텐츠를 만들어서 공유하겠습니다
● 잔재미코딩 유투브 오픈
[구독해보기]
6. 쿠키(Cookie)와 세션(Session)¶
- HTTP Request 를 전송하면, 서버는 HTML 파일을 전달하고, 해당 요청은 완료된다.
- HTTP 프로토콜은 연결을 유지하기 어려운 구조로 되어 있음
. 요청-응답 후 연결이 끊기는 구조(사용자 입력 정보등 상태 정보 활용이 어려운 구조임) - 상태 관리 정보를 저장하는 방식으로 쿠키(cookie)와 세션(session) 기법이 나옴
6.1. 쿠키(cookie): 상태 정보를 클라이언트에 저장하는 방식¶
- HTML 페이지를 웹 서버에 요청
- 웹 서버에서 쿠키(cookie) 생성
- 웹 서버 응답(HTML 페이지를 돌려줄 때) HTTP 헤더에 쿠키를 포함해서 전송
Set−Cookie: id=korea123
- 전달받은 쿠키는 웹브라우저에서 관리하고 있다가, 다음 요청 때 쿠키를 함께 전송
Cookie: id=korea123
- 서버에서는 쿠키 정보를 읽어 이전 상태 정보를 확인
- 필요시 서버가 쿠키 정보를 변경해서 응답시 변경된 쿠키와 함께 응답
6.2. 세션(session): 상태 정보를 웹 서버에 저장하는 방식¶
- 웹브라우저가 웹 서버에 요청하게 되면, 웹 서버가 해당 웹브라우저(클라이언트)에 유일한 ID(세션 ID)를 부여함
- 해당 세션 ID는 응답(HTML 페이지를 돌려줄 때) HTTP 헤더에 넣어져 전달된다.
Set−Cookie: PHPSESSID=pi0fo9v2kdi5nuha3bcgiu8fq2
- 웹브라우저는 이후 웹브라우저를 닫기 까지 해당 웹 서버 요청할 때 부여된 세션 ID를 HTTP 헤더에 넣어서 전달한다.
Cookie: PHPSESSID=pi0fo9v2kdi5nuha3bcgiu8fq2
- 웹 서버는 세션 ID를 확인하고, 해당 세션에 관련된 정보를 확인한 후, HTML 페이지를 돌려준다.
실습 (세션에 대한 기본 이해)
1. [한빛미디어 회원가입](http://www.hanbit.co.kr/member/member_agree.html)
2. 크롬(Chrome) 브라우저로 www.hanbit.co.kr 페이지 오픈 후
- alt + command + i (맥북), F12 (윈도우) 누르고 Application -> Cookies -> http://www.hanbit.co.kr 이동
- PHPSESSID 확인
3. 한빛미디어 로그인 후
- PHPSESSID 값을 임의 값으로 수정
4. 마이한빛 메뉴 클릭
X PHPSESSID 값을 임의 값으로 수정했기 때문에, 로그인 정보가 필요한 마이한빛 페이지 오픈시, 서버측에서 해당 로그인 정보가 없으므로
로그인을 하라는 페이지로 이동함
1. [한빛미디어 회원가입](http://www.hanbit.co.kr/member/member_agree.html)
2. 크롬(Chrome) 브라우저로 www.hanbit.co.kr 페이지 오픈 후
- alt + command + i (맥북), F12 (윈도우) 누르고 Application -> Cookies -> http://www.hanbit.co.kr 이동
- PHPSESSID 확인
3. 한빛미디어 로그인 후
- PHPSESSID 값을 임의 값으로 수정
4. 마이한빛 메뉴 클릭
X PHPSESSID 값을 임의 값으로 수정했기 때문에, 로그인 정보가 필요한 마이한빛 페이지 오픈시, 서버측에서 해당 로그인 정보가 없으므로
로그인을 하라는 페이지로 이동함