Web - Web internal operation


Web 이란?

  • 팀 버너스리(Tim Berners-Lee)에 의해 1989년에 처음 제안되었고, 1990년대 초반에 발전하여 현재의 형태를 갖추었음.
  • HTML 언어를 사용하여 작성된 하이퍼텍스트 문서를 “웹 페이지” 라고 함.
  • 이러한 웹 페이지들 중 서로 관련된 내용으로 작성된 집합을 “웹 사이트” 라고 함.
  • 하이퍼링크를 따라 다른 웹 페이지들로 이동하는걸 “웹 서핑” 이라고 하며, 검색하기 위해 사용하는 프로그램을 “웹 브라우저” 라고 함.
  • 인터넷을 통하여 이러한 정보등을 전세계적으로 공유하는 공간을 “웹” 이라고 함.


  • HTTP는 인터넷에서 제이터를 주고받기 위한, 웹 브라우저와 웹 서버간의 통신을 위한 프로토콜임. 보안 향상을 위해 HTTPS를 사용하기도 함.



웹에 www.google.com 을 검색하면 어떤 내부 과정이 일어날까?

  • www.google.com 을 입력하고 Enter 를 누름
  • 브라우저가 URL에 적힌 값을 파싱해서 HTTP Request Message를 만들고, OS에 전송 요청을 함.
  • 이 때, Domain으로 요청을 보낼 수 없기 때문에 DNS Lookup을 수행함.
    • 브라우저 캐시 → hosts 파일 → DNS Cache의 순서로 도메인에 매칭되는 ip를 찾음.
    • 다 없으면 DNS 서버에서 도메인 정보를 가져옴.
  • 얻은 IP 주소를 기반으로 웹 서버와의 TCP 연결 및 3-way handshake
  • 웹 서버에게 HTTP 요청을 전송함. 이 때는 메서드와 함께 헤더, 바디 정보를 포함함. 필요한 경우 HTTPS를 사용하여 암호화 가능.
  • 서버에서는 요청받은 내용을 처리하고, 응답을 보냄 ( 상태코드, 헤더, 바디 )
  • TCP 연결 종료 및 4-way handshake
  • 브라우저는 서버로부터 받은 HTTP 응답을 수신함.
  • 수신한 컨텐츠를 렌더링하여 사용자에게 표시함.



Request 와 Response 에는 어떤 정보가 담기나?

  • Request
    • 메서드 ( Get, Post, Put, Patch, Delete 등 )
    • 헤더 ( 컨텐츠 타입, 인증 정보 등 )
    • 바디 ( 데이터 : JSON 이나 RequestDTO 객체, 파라메터 등 )
  • Response
    • 상태 코드 ( 200, 404, 500 등 )
    • 헤더 ( 서버정보, 컨텐츠타입, 쿠키 등 )
    • 바디 ( 응답 데이터 : ResponseDTO 객체나 JSON 등 )






results matching ""

    No results matching ""