Study/Computer Science

[CS] 주소창에 URL 입력 시 사용자에게 보여주기까지 과정

taecongs 2023. 10. 23. 10:18

알고있으면 좋은 Computer Science Tip✨


웹 브라우저에 URL을 입력하고 사용자에게 보여주기까지 과정은?

  • 주소창에 URL을 입력하면 다음 단계들로 이루어진다.
    1. 사용자가 웹 브라우저를 통해 google.com 을 입력하면 URL 주소 중 도메인 네임 부분을 DNS 서버에서 검색한다.
    2. DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달한다.
    3. 브라우저는 HTTP 프로토콜을 사용하여 요청 메시지를 생성하고 HTTP 요청 메시지는 TCP/IP 프로토콜을 사용하여 서버로 전송된다.
    4. DOM 과 CSSOM을 조합하여 렌더트리를 구축한다. (display : none 속성은 렌더트리로 구축되지 않는다.)
    5. 서버는 response 메시지를 생성하여 다시 브라우저에게 데이터를 전송한다.
    6. 브라우저는 response를 받아 파싱하여 화면에 렌더링한다.

 

⭐용어 공부⭐

(1) DNS

  • 도메인 이름 시스템(DNS)은 사람이 읽을 수 있는 도메인 이름(예: www.amazon.com )을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환한다. 모든 통신에는 주소가 필요하며, 출발지와 도착지의 주소를 알아야 통신을 할 수 있다. 우리는 이 주소를 IP라고 부르고, IP 주소로 변환하는 과정에 개입하는 것이 DNS이다.

 

(2) URL

  • URL(Uniform Resource Locator)은 통합 자원 지시자로 인터넷의 리소스를 가리키는 표준 명칭으로 서버의 자원을 요청할 때 사용된다. URL을 통해 인터넷 상의 모든 리소스를 요청할 수 있으며, HTTP, FTP 등의 자원 요청도 가능하다.

 

(3) HTTP

  • HTTP(HyperText Transfer Protocol)은 TCP 기반의 클라이언트와 서버 사이에 이루어지는 요청/응답 프로토콜이다.
  • HTTP는 Text Protocol로 사람이 쉽게 읽고 쓸 수 있고, 프로토콜 설계상 클라이언트가 요청을 보내면 반드시 응답을 받아야 하며, 응답을 받아야 다음 request를 보낼 수 있다.

 

(4) 프로토콜

  • 프로토콜은 통신하기 위한 약속들을 기술적으로 잘 정의해 둔 것이다.
  • 데이터를 송수신하는 순서와 내용을 결정하며, HTTP, TCP/IP, UDP 모두 프로토콜이다.

 

(5) TCP

  • TCP (전송 제어 프로토콜)은 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜이다. TCP는 데이터 전송을 제어하고 데이터를 어떻게 보낼 지, 어떻게 맞출 지 정하고, 또한 데이터와 패킷이 보내진 순서대로 전달하는 것을 보장해준다.
  • 신뢰성과 연결성을 책임지기 위한 프로토콜이 TCP이며, 호스트와 호스트간의 데이터 전송은 IP(인터넷 계층 프로토콜)에 의지하면서 동시에 신뢰성 있는 전송에 대해서는 TCP가 책임지는 구조다.

 

(6) IP

  • IP (Internet Protocol)은 비신뢰성, 비연결지향 데이터그램 프로토콜로 패킷을 받아서 주소를 해석하고 경로를 결정하여 다음 호스트로 전송하는 역할을 한다.

 

(7) response

  • HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식이다. 메시지 타입은 두 가지가 있으며, 요청(request)은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지고, 응답(response)은 요청에 대한 서버의 답변이다.

'Study > Computer Science' 카테고리의 다른 글

[CS] TDD(Test-Driven-Development)  (0) 2023.10.25
[CS] HTTP & HTTPS  (0) 2023.10.24
[CS] REST API  (0) 2023.10.24
[CS] CORS  (0) 2023.10.23
[CS] 브라우저의 렌더링 원리  (0) 2023.10.06