일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘정렬
- 스프링
- 엘라스틱서치
- 자바스크립트
- 스프링부트
- 김영한
- 스프링핵심원리
- 자바
- 이펙티브자바
- Sort
- 카카오
- 알고리즘
- 이차전지관련주
- ElasticSearch
- 이펙티브 자바
- Effective Java 3
- JavaScript
- 티스토리챌린지
- k8s
- Spring
- kubernetes
- java
- effectivejava
- 오블완
- Effective Java
- 코딩테스트
- 예제로 배우는 스프링 입문
- 스프링 핵심원리
- 카카오 면접
- 클린아키텍처
- Today
- Total
Kim-Baek 개발자 이야기
브라우저로 웹 사이트에 접속할 때 일어나는 일 본문
"브라우저에 도메인을 입력하면 → DNS서버에 IP주소를 요청 → 수신한 IP주소에 해당하는 웹서버에 접속"
1. 로컬PC의 hosts파일 확인 ( 브라우저에 캐싱되어 있는지 먼저 확인하자 )
로컬PC의 C:\Windows\System32\drivers\etc 경로(윈도우 설치 경로에 따라 조금 차이가 있을 수 있음)에는 hosts라는 파일이 있다. 이 파일을 메모장으로 열어보면, IP주소와 도메인 주소를 설정할 수가 있다. 이 파일은 PC의 자체 DNS역할을 하며, 브라우저는 가장 먼저 이 파일을 확인하여 입력한 도메인의 매핑정보가 존재하는지 확인한다.
2. DHCP&ARP
대부분 가정집에서는 DHCP로 인터넷 접속을 하고 있을 것이다. DHCP는 Dynamic Host Configuration Protocol의 약자로, 호스트의 IP주소 및 TCP/IP 설정을 클라이언트에 자동으로 제공하는 프로토콜이다. 사용자의 PC는 DHCP서버에서 사용자 자신의 IP주소, 가장 가까운 라우터의 IP주소, 가장 가까운 DNS서버의 IP주소를 받는다. 이후, ARP 프로토콜을 이용하여 IP주소를 기반으로 가장 가까운 라우터의 MAC주소를 알아낸다.
3. IP 정보 수신
2의 과정을 통해 외부와 통신할 준비를 마쳤으므로, DNS Query를 DNS 서버에 송신한다. DNS 서버는 이에 대한 결과로, 웹 서버의 IP 주소를 사용자 PC에 돌려준다.
4. 웹 서버 접속
이제 웹 서버의 IP주소까지 알았다. Http Request를 위해, TCP Socket을 개방하고, 연결한다. 이 과정에서 3-Hand-Shaking이 일어난다. TCP 연결에 성공하면, Http Request가 TCP Socket을 통해 보내진다. 이에 대한 응답으로, 웹 페이지의 정보가 사용자의 PC로 들어온다.
'컴퓨터 공학 > 네트워크' 카테고리의 다른 글
POST, PUT 차이 (0) | 2020.10.18 |
---|---|
WAS, Tomcat 그리고 Jetty (0) | 2020.10.17 |
OSI 7계층, TCP/IP 4계층 (1) | 2020.10.15 |
HTTP, HTTPS, TCP, UDP (0) | 2020.10.14 |
CORS(Cross-Origin Resource Sharing)란 (0) | 2020.09.22 |