브라우저에서 서버로부터 응답을 받는 과정

송철진·2023년 1월 7일
0

브라우저에서 API 요청을 하고 서버로부터 응답을 받기 까지~

1. 사용자가 입력한 URL을 분석

URL(Uniform Resource Locator)

  • 인터넷에서 자원의 위치(주소)를 나타냄
  • 프로토콜, 도메인네임, 포트, 경로, 파라미터 등 구성.
  • 문법에 맞지 않으면, 기본 검색엔진으로 검색을 요청.

2. URL을 IP 주소로 변환(DNS 조회)

URL의 도메인네임을 DNS(Domain Name System) 서버에 요청하여 IP 주소로 변환.
IP 주소로 입력해도 되지만 기억하기 어려우므로
기억하기 쉬운 도메인을 매매한다

3. 대상 서버와 TCP 소켓 연결

TCP 소켓 연결: 3 way handshake

  1. 1단계 SYN (synchronize sequence numbers 동기 시퀀스 넘버)
    : 연결 요청 메시지 전송
  2. 2단계 SYN + ACK(Acknowledgement 답신)
    : SYN 요청에 대해 서버에서 응답을 합니다.(수락 혹은 거절)
  3. 3단계 ACK
    : 서버로부터의 응답을 확인하고 데이터전송을 시작할 안정적인 연결을 설정합니다.

참고) HTTP3에서는 TCP의 3 way handshake를 없애고자 TCP가 아닌 UDP를 사용.

4. 요청, 응답 및 브라우저 렌더링

연결이 확정되면 해당 페이지를 서버에 요청하고 응답이 브라우저에게로 전달.
브라우저는 HTML, CSS, JavaScript를 전달받아 구문 분석을 통해 파싱
-> 렌더링 트리 구성
-> 렌더링 트리 배치(레이아웃)
-> 페인팅
.. 등의 과정을 통해 사용자에게 화면을 보여줍니다.

참고) 더 자세히는..

  • HSTS 목록 조회: HTTP, HTTPS로 보낼지 판단,
  • ARP(Address Resolution Protocol): 논리적 주소인 IP를 물리적 주소인 MAC으로 변경.

출처: 커리어리
https://careerly.co.kr/comments/75062?utm_campaign=user-share

profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글