1. 우리가 크롬이나 엣지 등 브라우저를 켜고 https://www.google.com 이라는 주소를 입력하고 enter 키를 눌렀을 때, 우리는 어떤 정보를 알 수 있을까?? 우선 이 주소를 뜯어보자!
  1. 입력한 도메인 이름과 일치하는 IP 주소를 조회한다.

  2. 브라우저가 서버와의 TCP 연결

    1. 브라우저가 HTTP 요청을 서버로 전송

      • 서버에 연결이 성공하면 HTTP(s) 프로토콜에 대한 통신 규약을 따라 요청을 전송한다.
        • GET, POST, PUT, DELETE, PATCH 메서드를 활용한다.
        • path
        • HTTP 버전
      • 요청 헤더에 대한 예시이다.
      GET /blog/first HTTP/1.1
      Host: rootjang.blog.com
      Connection: keep-alive
      Pragma: no-cache
      Cache-Control: no-cache
      User-Agent: curl/7.64.1
      Accept: */*
      
    2. Web server가 요청을 처리하고 응답을 전송

      • 위 요청 헤더, body request 등을 받아 응답을 처리하고 클라이언트(브라우저)로 다시 전송한다.
        • 요청 상태를 알려주는 상태
        • 응답 처리 방법
        • 요청된 리소스
      HTTP/1.1 200 OK
      Date: Sat, 4 Mar 2023 16:30:30 GMT
      Server: nginx
      ...
      Content-Type: text/html; charset=utf-8
      
      • 이 때 전송받는 리소스는 html 콘텐츠, 이미지 파일 등 정적 파일, json 등이 있다.
      • 대부분 Web server가 동적 리소스를 생성하여 HTML를 구축하고 동적 데이터와 결합하여 응답으로 전송한다. 이를 이용하여 브라우저가 웹 사이트를 렌더링 한다.
  3. 브라우저가 콘텐츠 렌더링

네트워크 환경에서 데이터가 오고 가는 과정을 이해하는 것이 왜 중요한가?