Pace Check
<aside>
⚠️ 실제 수업을 진행한 내용에서, 설명하며 이해를 돕기 위한 추가적인 내용들이 들어가있음
복습할때 심화 부분은 회색으로 표기하였으니 기본적으로 보지말고, 제대로 이해된자들만 볼 것
- 제대로 이해되지 않은 상태에서 심화 부분을 보면, 정말 쌓아올린 탑이 무너질 수 있음
- 알아야할 개발 지식은 지수적(Exponential)으로 증가하는 경향이 있어서
- 단순히 한줄뿐이라 하더라도, 한 단어뿐이더라도 새로 알아야할게 몇십개씩 생겨나기때문
- 정말 머리가 정말 아파질 수 있으니 제발 조심할 것
</aside>
1. 웹 브라우저와 웹 서버의 저장소
1.1. HTTP is a Stateless Protocol
앞 수업에서 언급된 Stateless 무상태성 과 Stateful 상태성 복습하며 HTTP Stateless 의 의미를 파악해보자
- Stateless 불연속성 : 웹 서버 입장에서는 매 요청이 어떤 웹 브라우저가 보낸것인지 알 수 없다 ← HTTP
- Stateful 연속성 : 웹 서버가 이전에 요청받았던 웹 브라우저와 현재 요청의 웹 브라우저를 구별할 수 있다
- 어떤 유저의 (어떤 웹 브라우저의) 요청인지 알 수 있다면
- 요청마다 별개의 작업 수행 혹은 결과 반환 가능
- 서버가 여러 개일 경우 어떤 서버를 호출해도, 서버에 장애가 생기더라도 다른 서버가 역할을 대신
- 가장 흔한 예시로 로그인 계정 정보
1.2. Stateful HTTP : Cookie & Session
웹 서버는 웹 브라우저의 요청이 어떤 유저에 의해 요청된 것인지 알기위해 응답 반환시 요청자 정보를 함께 반환
- 웹 브라우저는 응답을 받아, 응답 헤더에 붙어있던 요청자 정보를 웹 브라우저 쿠키에 저장한다.
- 웹 브라우저는 이후 요청부터 웹 서버에게 요청자 정보를 함께 전달하여 웹 서버는 누구의 요청인지 알 수 있다
- 요청자 정보 : 어떤 웹 브라우저(유저)가 요청했는지 인지 가능한 정보

웹 브라우저는 이후 요청부터 웹 서버에게 요청자 정보를 함께 전달하여 웹 서버는 누구의 요청인지 알 수 있다 예시
- 웹 서버가 웹 브라우저에게 최초로 전달해줄때 : 웹 서버 응답(Response)의 헤더 Set-Cookie 로 전송

- 웹 브라우저가 그 이후로 웹 서버에게 전달할때 : 웹 브라우저 요청(Request)의 헤더 Cookie 로 전송
