Illie

CS. 웹 브라우저에 URL을 입력하면 어떤 일이 생기나요? 본문

CS

CS. 웹 브라우저에 URL을 입력하면 어떤 일이 생기나요?

(*ᴗ͈ˬᴗ͈)ꕤ*.゚ 2022. 7. 13. 15:31

참고사이트

링크 

 

웹 브라우저에 URL을 입력하면 어떤 일이 생기나요? | Amazon Web Services

여러분은 매일 웹 브라우저를 열고 소셜 미디어, 뉴스, 전자 상거래 사이트 등 즐겨 찾는 웹 사이트를 탐색합니다. 주소창에 URL을 입력하거나 페이지 링크를 클릭하면 해당 페이지로 이동합니다

aws.amazon.com

출처

 

주소창에 URL (www.google.co.kr) 을 입력하면 무슨 일이 벌어지나요 ?

📌 브라우저 주소창에 www.google.co.kr을 입력하면 무슨 일이 벌어질까 ? 1. 브라우저 주소창에 www.google.co.kr을 입력. 2. 브라우저는 총 4개의 cache에서 DNS기록 확인. 3. 요청한 URL이 cache에 없으면 ISP..

code-designer.tistory.com

아마존 웹 서비스 한국 블로그 글과 티스토리 글을 차용했다.

나보단 여기가 훨씬 설명을 잘하고 또 자세하다.

그러니 내 글보단 저 글을 조금 더 신뢰했으면 좋겠다.

 

순서

1. 웹 브라우저에 URL을 입력하고 ENTER 키 입력

2. 웹 브라우저가 도메인명의 IP주소 조회

3. 웹 브라우저가 서버와의 TCP 연결 시작

4. 웹 브라우저가 HTTP 요청을 서버로 전송

5. 웹 서버가 요청을 처리하고 응답을 다시 전송

6. 웹 브라우저가 콘텐츠 렌더링

 

각 단계별 설명

1. 웹 브라우저에 URL을 입력하고 ENTER 키 입력

- URL 분석

https://sungilryuu.tistory.com/manage/newpost (URL 예시)

1. https - 통신 규약(Protocol)
브라우저에 전송 계층 보안(TLS)을 사용하여 서버에 연력을 지시하도록 지시
https를 사용하면 브라우저와 서버 간에 교환되는 데이터가 암호화 됨

2. sungilryuu.tistory.com - 도메인(Domain)
웹 사이트의 도메인 이름
기억하기 쉬은 주소, 특정 서버의 IP 주소를 가르킴

3. /manage/newpost - 경로(Path)
manage는 서버에 요청된 리소스인 newpost로 이어지는 경로

4. /newpost - 리소스(Resource)
위 URL을 브라우저에 입력하면 newpost는 보려는 웹사이트의 리소스 이름
확장자가 없다면 서버가 이 콘텐츠를 생성했음을 나타냄

 

2. 웹 브라우저가 도메인명의 IP주소 조회

- DNS 조회를 사용하여 작업 수행

DNS: 도메인 이름과 IP 주소를 서로 변환하는 역할

동작원리
1. 이전에 방문한 적이 있는지 찾는다.
- 브라우저 캐시 확인(로컬 웹페이지 리소스 저장하는 데 사용되는 메커니즘)
- OS 캐시 확인
- 라우터 캐시 확인
- ISP 캐시 확인

2. 캐시에 없으면 재귀적으로 도메인을 찾는다.
- 알맞은 IP주소를 찾을 때까지 요청을 반복적으로 보낸다

 

3. 웹 브라우저가 서버와의 TCP 연결 시작

- 전송 제어 프로토콜을 사용하여 라우팅 테이블을 따라서 연걸할 IP 주소가 있는 웹 서버를 찾음(일반적으로)

TCP/IP 3-way handshake 연결 방법

client와 server가
SYN(SYNchronize:연결 요청) 및 ACK(ACKnowledgement:승인) 메시지를 교환하며
연결을 설정하는 3단계의 프로세스

1. client는 server에 SYN 패킷을 보내 새로운 연결이 가능한지 여부를 묻는다.
2. server에 새 연결을 받을 수 있는 열린 포트가 있는 경우, SYN/ACK 패킷을 보내 ACK(승인)으로 응답한다.
3. client는 server로 부터 SYN/ACK패킷을 수신하고 ACK 패킷을 전송하여 승인한다.

- CDN을 사용하여 정적 및 동적 콘텐츠를 웹 브라우저 가까이에 위치 시킴(대세)

CDN (콘텐츠 분배 네트워크, Contents Distribution Network)
공부하는 스누피 님의 글 차용
CDN : 엄청난 스트리밍 트래픽을 분배하는 문제를 해결하기 위해 주로 사용되는 네트워크

CDN 서버 위치
- Enter Deep : 서버 클러스터를 세계 곳곳의 접속 네트워크에 구축하는 방식(서버와 사용자를 최대한 가까이 위치)
- Bring Home : 적은 수의 핵심 지점에 큰 규모의 서버 클러스터를 구축하는 방식

CDN 동작
- URL을 지정함으로써 특정 요청을 하면 CDN은 그 요청을 가로채고
- 클라이언트에게 가장 적당한 CDN 클러스터를 선택하고
- 클라이언트의 요청에 해당 클러스터의 서버로 연결

 

4. 웹 브라우저가 HTTP 요청을 서버로 전송

- HTTP Method 정리

GET: 서버로부터 데이터 취득
POST: 서버에 데이터를 추가, 작성
PUT: 서버의 데이터를 갱신, 작성
DELETE:  서버의 데이터 삭제
HEAD: 서버 리소스의 헤더(메타 데이터의 취득)
OPTIONS: 리소스가 지원하고 있는 메소드 취득
PATCH: 리소스의 일부분 수정
CONNECT: 프록시 동작의 터널 접속을 변경

 

5. 웹 서버가 요청을 처리하고 응답을 다시 전송

- 콘텐츠를 가져오고 응답을 생성하여 클라이언트로 다시 전송

 

 

6. 웹 브라우저가 콘텐츠 렌더링

'CS' 카테고리의 다른 글

HTTP. 헤더와 캐시(완)  (0) 2023.02.05
HTTP. 상태코드  (0) 2023.02.05
HTTP. 메서드  (0) 2023.01.28
HTTP. 간단하게 정리1  (0) 2023.01.24
Comments