-
1. 브라우저 검색창에 google.com을 검색한다.
- 특정 웹사이트에 접속하기 위해선 도메인주소가 아닌 IP주소가 필요하다.
- IP주소는 외우기가 힘들기 때문에 도메인명으로 웹페이지에 접속할 수 있도록 DNS서버를 이용한다.
DNS서버: URL이름과 IP주소를 저장하는 데이터베이스
2. 브라우저에 캐싱된 DNS기록을 확인한다.
- 브라우저는 4가지의 캐시를 확인한다.
- Browser캐시 -> OS캐시 -> router캐시 -> ISP캐시
ISP: 인터넷 서비스 공급자의 약자
3. 요청한 URL이 캐시에 없으면 ISP의 DNS서버에서 다른 DNS서버에 DNS Query를 날려 IP주소를 알아낸다.
- 캐시에 요청한 URL의 IP주소가 없으면 ISP는 DNS서버들을 검색하여 해당 도메인의 IP주소를 찾을 때까지 검색한다.
4. 브라우저가 서버와 TCP Connection을 한다.
- 브라우저가 IP주소를 알게되면 Http connection을 통해 서버와 연결한다.
- TCP/IP 3-way handshake 프로세스를 통해 클라이언트와 서버간 connection이 이뤄지게 된다.
5. 브라우저가 웹서버에 HTTP요청을 한다.
- TCP연결이 되면 클라이언트는 GET요청을 통해 google.com 웹페이지를 요청한다.
6. 서버가 요청을 처리하고 response 를 생성한다.
- 웹서버에서 브라우저로부터 온 요청을 읽고 response 를 생성한다.
- response는 특정 포맷(JSON, XML ...)으로 작성한다.
7. 서버가 HTTP Response를 보낸다.
- 서버의 response에는 요청한 웹페이지, 상태코드 등이 포함되어 있다.
8. 브라우저가 HTML content를 보여준다.
- 브라우저는 thml content를 단계적으로 렌더링하여 노출한다.
- 해당 content들은 브라우저에 의해 캐싱되어 해당 사이트 재방문시 서버에 재요청하지 않도록 한다.
'CS > 웹개발' 카테고리의 다른 글
CI/CD (1) 2025.01.16 JPA Dirty Checking (0) 2025.01.13 OAuth (0) 2025.01.06 OSI 7계층 (0) 2025.01.05 Spring Security (1) 2025.01.04 댓글