[Node.js] 웹서버만들기 2 - 쿠키와 세션

jungeundelilahLEE·2021년 2월 8일
0

Node.js

목록 보기
20/27

goal

  • 쿠키와 세션 이해하기

쿠키 이해하기

클라이언트                           서버
C                                             S
L ----------- 1.요청 -----------> E
I <-----2.쿠키와 함께 응답----- R                ------- 쿠키가 없는 상태
E -----3.쿠키와 함께 요청----->V                ------- 쿠키가 있는 상태
N <---------- 4.응답 ----------> E
T                                             R


쿠키에 대해

  • "클라이언트를 기억하기 위해" 서버는 "쿠키와 함께 응답"을 보낸다.

  • 쿠키는 name = delilah처럼 키-값의 형태

  • 브라우저(클라이언트)는 쿠키가 있으면 자동으로 같이 보내므로 크게 신경쓰지 않아도 된다.
    서버에서 브라우저로 쿠키를 보낼 때! 형식에 맞게 코드를 작성한다.

  • 쿠키는 요청과 응답의 "header"에 저장된다.

  • 쿠키는 "문자열 형식"으로 오므로, {"name" : "delilah"}처럼 객체로 바꿔주어야 할 필요가 있다.


HTTP Status Code (상태코드)

  • 브라우저는 status code를 보고, 보낸 요청의 성공/실패 여부를 판단할 수 있다.

    상태코드설명주요 상태코드
    200번대성공200 : 성공
    201 : 새로운 데이터를 서버에 생성하는 작업 성공
    300번대redirect 다른 페이지로 이동300 : 영구 이동
    301 : 임시 이동
    400번대(클라이언트의) 요청 오류401 : 권한 없음
    403 : 금지됨
    404 : 찾을 수 없음
    500번대서버 오류500 : 내부 서버 오류
    502 : 불량 게이트웨이
    503 : 서비스 이용 불가

HTTP Request / Response (요청과 응답의 형태)

HTTP Header
HTTP Body
<html><body>이윌리 하트</body></html>
  • Header에는 General header / Req,Res header / Entity header가 있다. (쿠키는 헤더에!)

  • HEADER : req/res에 대한 정보를 가진다.

  • BODY : 클라이언트와 서버 간 주고받은 "실제 데이터"가 들어간다.


2. 세션 Session

  • 클라이언트가 아닌 "서버에 사용자 정보를 저장"하고, 클라이언트와는 "세션아이디"로만 소통한다.

    • 세션아이디 : 세션아이디는 꼭 쿠키를 통해 주고받지 않아도 되지만, 대다수의 웹사이트가 쿠키를 통해 주고받는 방식을 택한다.
      그러나, 실제 배포시에는 DB에 넣는다.

    출처 : 조현영_node.js 교과서 길벗💚️

profile
delilah's journey

0개의 댓글