본문 바로가기
STUDY/cs

주소창에 google.com을 입력하면 일어나는 일?!

by 3급우사기 2024. 9. 6.

 


주소창에 `google.com`을 입력했을 때 일어나는 과정을 단계별로 알아보자!

1. 사용자가 URL 입력
   사용자가 브라우저 주소창에 `google.com`을 입력합니다. 브라우저는 사용자가 입력한 문자열을 처리하여 적절한 요청을 준비합니다. 이 과정에서 브라우저는 입력된 값이 URL인지, 검색어인지 구분합니다.

2. DNS 조회
   브라우저는 입력된 도메인 이름(`google.com`)에 해당하는 IP 주소를 알아내기 위해 DNS(Domain Name System) 서버에 요청을 보냅니다. 
   - 브라우저 캐시 → 운영체제 캐시 → 라우터 캐시 → ISP(인터넷 서비스 제공자) 캐시 순으로 DNS 조회가 이루어집니다.
   - 만약 캐시에 해당 정보가 없다면, DNS 서버가 도메인의 IP 주소를 반환합니다.

3. TCP 연결 설정
   DNS 조회가 완료되어 IP 주소를 얻으면, 브라우저는 해당 IP 주소의 서버와 TCP(Transmission Control Protocol) 연결을 설정합니다.
   - 이를 위해 3-way handshake라는 과정이 진행됩니다:
     1. 클라이언트가 서버에 SYN(Synchronize) 패킷을 전송
     2. 서버가 SYN-ACK(Synchronize-Acknowledge) 패킷으로 응답
     3. 클라이언트가 ACK(Acknowledge) 패킷을 전송

4. HTTP/HTTPS 
   TCP 연결이 설정되면 브라우저는 HTTP 또는 HTTPS 요청을 서버에 보냅니다. 이 요청은 사용자가 방문하고자 하는 웹 페이지의 세부 정보를 포함하고 있습니다.
   - HTTPS는 SSL/TLS(보안 계층)를 사용하여 데이터를 암호화하고 안전하게 전송합니다.

 

5. 서버 응답
   서버는 브라우저로부터 받은 요청을 처리하고, 해당 요청에 맞는 HTML 문서, CSS, JavaScript, 이미지 등의 리소스를 응답으로 반환합니다.

6. 브라우저 렌더링 엔진 작동
   서버에서 받은 HTML, CSS, JavaScript 파일을 브라우저의 렌더링 엔진이 분석하고, 이를 화면에 표시합니다.
   - HTML 파싱: DOM(Document Object Model) 트리를 만듭니다.
   - CSS 파싱: CSSOM(CSS Object Model) 트리를 생성하여 스타일을 적용합니다.
   - JavaScript 실행: 스크립트가 실행되며 페이지의 동작이 활성화됩니다.

7. 페이지 렌더링 및 사용자 인터페이스 표시
   DOM과 CSSOM 트리가 결합되어 렌더 트리가 만들어지고, 이를 기반으로 브라우저가 레이아웃을 계산한 후, 화면에 페이지가 표시됩니다.

요약

 

1. 사용자가 웹 브라우저를 통해 google.com 을 입력하면 URL 주소 중 도메인 네임 부분을 DNS 서버에서 검색합니다.
2. DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달합니다.
3. 브라우저는 HTTP 프로토콜을 사용하여 요청 메시지를 생성하고 HTTP 요청 메시지는 TCP/IP 프로토콜을 사용하여 서버로 전송됩니다.
4. 서버는 response 메시지를 생성하여 다시 브라우저에게 데이터를 전송합니다.
5. 브라우저는 response를 받아 파싱하여 화면에 렌더링합니다.