[쿠키]
HTTP는 상태가 없음 : 끝난 HTTP 통신(이전)의 상태를 알 수 없음(예시 : 로그인 했는지 안했는지 정보)
넷스케이프에서 쿠키(이전 통신정보 기억하기)를 만듬
로그인 정보 기억, 쇼핑 장바구니 목록 등을 가져올 수 있음
웹서버에 보낸, 받은 정보를 웹브라우저가 가지고 있다가 서버에 요청시(Request) 이전 상태값(쿠키)을 전송함
웹브라우저가 가진 쿠키 보기 : 개발자도구 > 페이지.html 도큐먼트 파일 > Request Headers > Cookie -서버로 전송할 값
서버가 받고 보내는 쿠기 : 개발자도구 > 페이지.html 도큐먼트 파일 > Response Headers > Set-Cookie - 웹브라우저로 전송할 값
쿠키 유효 범위 밖
유저가 요청하는 주소값(사이트 주소)이 달라질 경우(라우트 설정과 다른 유저 요청) 쿠키를 서버에 전송하지않음
쿠키 삭제(크롬개발자도구 > Application > Cookies > 웹사이트 도메인 > 해당 쿠키 삭제)시 이전 정보가 모두 날아감
브라우저를 아예 새로열었을 경우 전혀 다른 브라우저이기때문에 옆 브라우저 창 쿠키가 유지되지않음
쿠기 실습해보기(서버언어 : nodejs - 각 서버언어의 공식문서를 보면 쿠키 설정 어떻게 하는지 알 수 있음)
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 | /* 웹서버 : nodejs express */ var express = require('express') /* 쿠키를 사용하기위해 필요한 middleware(라이브러리) */ var cookieParser = require('cookie-parser') var app = express(); app.use(cookieParser()) /* 웹서버 라우트 지정 : 특정주소 접근(request)시 서버 응답(response) 설정 웹서버(환경 : nodejs express) 쿠키 설정 : http://expressjs.com/ko/4x/api.html > Request > req.cookies */ app.get('/count', function(req, res){ /* 응답 시 쿠키 설정 : (쿠키이름, 쿠키값 : String ) - 자세한 사용방법은 공식문서 참고 */ if(!req.cookies.cart){ /* 웹브라우저가 전송한 쿠기가 존재하지않는다면 */ var count = 0 } else { var count = parseInt(req.cookies.cart) } res.cookie('count', count + 1) /* 재설정한 상태값(쿠키)을 응답 시 같이 보냄 */ res.send('count : ' + count) }) /* 웹서버 연결 */ app.listen(3000, function(){ console.log("Connect! 3000 port") }) | cs |
'javascript' 카테고리의 다른 글
[웹 기본개념] 세션 (0) | 2017.04.05 |
---|---|
[자바스크립트] this 바인딩 (0) | 2017.03.31 |
[웹 기본개념] URL / URI / REST API (0) | 2017.03.24 |
[자바스크립트] scope (0) | 2017.03.21 |
[웹 기본개념] HTTP 통신 (0) | 2017.03.21 |
댓글