
브라우저 주소창에 다음과 같이 적고 Enter를 누르면 어떻게 될까?
URL을 해석한다.

DNS를 조회한다.

📌도메인과 호스트 혼동 주의!
present.do, www.present.do, gateway.dev.present.do 전부 도메인은 present.do 나머지 서브도메인이 붙은 것들은 호스트
해당 IP가 존재하는 서버로 이동한다.

ARP(Address Resolution Protocol)를 이용하여 MAC 주소 변환한다.
IP주소는 현실에서 도로명 주소나 지번 주소에 해당하고 MAC주소는 실제 GPS 좌표에 해당한다고 볼 수 있다. 따라서 정확한 위치를 알기 위해서는 GPS 좌표를 알아야하는 것처럼 기계의 실제 위치를 알기 위해서는 MAC주소가 필요한 것이다.
TCP 통신을 통해 Socket을 연다.

서버는 응답을 반환한다.
📍클라이언트 <-> 서버 통신 (feat. Day1 브라우저 동작 원리)
브라우저는 렌더링 후 스크립트 실행한다.

😀장점 & 😥단점

모듈은 스크립트 간 의존도 및 실행순서 제어에 대한 한계로 등장했다.
🧨모듈은 설계 시점에 의미있는 요소며 컴포넌트는 런타임 시점에 의미있는 요소이다.
모듈이 동작하기 위해서는 **HTTP** 또는 **HTTPS** 프로토콜을 통해서만 동작한다.
🎃테스트 사이트 https://rubular.com/

현업 개발자도 사이트를 참고하니 외우지 않아도 괜찮다.

클라이언트에서 저장, 관리하는 데이터들로 브라우저를 닫아도 데이터를 유지할 수 있다.
서버가 사용자를 구분하기 위해 고안된 개념으로 쿠키의 HTTP Session Id를 식별자로 사용자를 구분한다.
🧨세션은 서버에 파일로 저장되기 때문에 만약 사용자가 엄청 많아지거나 서버가 2개 이상이라면 세션 관리에 문제가 생긴다.
이 문제를 해결하기 위해 등장한 클라이언트에 데이터를 저장하기 위한 새로운 방법으로 HTML5부터 지원하며 로컬 스토리지와 세션 스토리지가 있다.
key-value 형태로 저장한다.key-value 형태로 저장한다.