본문 바로가기
자유게시판/스터디

[Web] 구글을 주소창에 검색했을 때 화면이 나오기까지의 과정

by 상똥 2024. 1. 1.

1. 사용자가 www.google.com을 주소창에 입력 

- 웹 브라우저는 캐싱된 DNS 기록들을 통해 해당 도메인 주소와 대응하는 IP주소를 확인

- 캐시 : 어떤 특징이 있는 데이터 하위 집합을 저장하는 고속 데이터 스토리지 계층, 이를 사용하면 해당 데이터에 대한 요청이 있을 경우 데이터의 기본 스토리지 위치에 액세스할 때보다 더 빠르게 요청을 처리할 수 있음

2. 브라우저는 DNS 서버로 가서 웹사이트가 있는 서버의 진짜 주소를 찾는다

- DNS(Domain Name System) : 도메인 이름과 IP주소를 매핑해주는 서버 

3. 브라우저는 서버에게 웹사이트의 사본을 클라이언트에게 보내달라는 HTTP 요청 메세지를 서버로 전송

- HTTP(HyperText Transfer Protocol) : 하이퍼미디어 문서를 전송하기 위한 애플리케이션 계층 프로토콜, 클라이언트-서버 모델

4. 이 메세지, 그리고 클라이언트와 서버 사이에 전송된 모든 데이터는 TCP/IP 연결을 통해서 전송됨

- TCP/IP(Transmission Control Protocol / Internet Protocol) : 컴퓨터 사이의 통신 표준 및 네트워크의 상호 연결에 대한 자세한 규칙을 지정하는 프로토콜 스위트

5. DNS가 웹브라우저에게 구글 사이트의 IP주소를 응답

- "www.google.com"이라는 DNS쿼리가 오면 [RootDNS] → [.com DNS] → [.google DNS] → [.www DNS]과정을 거쳐 완벽한 주소를 찾아 IP주소를 매핑

6. 웹 브라우저가 웹 서버에게 IP주소를 이용해 html문서를 요청

- GET 요청을 통해 구글 웹페이지를 요구

7. 웹어플리케이션 서버와 데이터베이스에서 우선 웹페이지 작업을 처리

- WAS : 사용자의 컴퓨터나 장치에 웹어플리케이션을 수행해주는 미들웨어

8. 작업 처리 결과를 웹서버로 전송

- 웹서버 : 정적인 컨텐츠를 요청받아 처리함

- 웹애플리케이션서버 : 동적인 컨텐츠를 요청받아 처리함

9. 웹 서버는 웹브라우저에게 html문서 결과를 응답

- 1xx : 정보만 담긴 메세지

- 2xx : 요청에 대한 응답이 정상적으로 이루어짐 

- 3xx : 클라이언트를 다른 URL로 리다이렉트

- 4xx : 클라이언트측 에러 발생

- 5xx : 서버측 에러 발생

10. 웹브라우저에서 내용물 출력

 

1. TCP/IP 4계층 모델

- 인터넷 프로토콜 스위트(Internet Protocol Suite) : 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 집합

- 애플리케이션 계층, 전송계층, 인터넷계층, 링크계층으로 나뉨

 

(1) 애플리케이션 계층 : 웹서비스, 이메일 등의 응용프로그램이 사용되는 프로토콜 계층, 실질적인 서비스를 사람들에게 제공

- FTP(File Transfer Protocol): 장치와 장치간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜

- SSH(Secure Shell) : 보안되지 않은 네트워크에서 네트워크 서비스를 안전하게 운영하기 위한 암호화 네트워크 프로토콜

- HTTP(HyperText Transfer Protocol) : World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 쓰는 프로토콜

- SMTP(Simple Mail Transfer Protocol) : 전자 메일 전송을 위한 인터넷 표준 통신 프로토콜

- DNS(Domain Name System) : 도메인 이름과 IP주소를 매핑해주는 서버 / 예를 들어 "www.google.com"이라는 DNS쿼리가 오면 [RootDNS] → [.com DNS] → [.google DNS] → [.www DNS]과정을 거쳐 완벽한 주소를 찾아 IP주소를 매핑

 

(2) 전송계층 : 송신자와 수신자를 연결하는 통신 서비스를 제공, 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때 중계 역할

- UDP : 순서를 보장하지 않고 단순히 데이터만 주고받는 '데이터그램 패킷 교환 방식' 사용

- TCP : 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 통해 신뢰성을 구축하고 수신 여부를 확인, '가상회선 패킷 교환 방식' 사용 

- TCP 연결 성립 과정 : 신뢰성을 확보할 때 3-way handshake 작업 진행

- SYN(연결 요청 플래그) 단계 : 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보낸다. ISN은 새로운 TCP연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호를 말하며 장치마다 다르다

- SYN + ACK(응답 플래그) 단계 : 서버는 클라이언트의 SYN을 수행하고 서버의 ISN을 보내며 승인번호로 클라이언트의 ISN+1을 보낸다

- ACK단계 : 클라이언트는 서버의 ISN+1한 값인 승인번호를 담아 ACK를 서버에 보낸다

- TCP는 위와 같은 과정이 있어 신뢰성이 있는 계층이라고 말하며, UDP는 이 과정이 없기 때문에 신뢰성이 없는 과정이라고 말한다

'자유게시판 > 스터디' 카테고리의 다른 글

[WEB] Restful API  (2) 2024.01.08
[WEB] HTTP 메소드  (0) 2024.01.02
[WEB] HTTP란?  (0) 2024.01.01
스터디 7주차  (0) 2023.03.26
스터디 6주차  (0) 2023.03.09