Illie
CS. 웹 브라우저에 URL을 입력하면 어떤 일이 생기나요? 본문
참고사이트
웹 브라우저에 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 |