Q. www.github.com을 브라우저에 입력하고 엔터를 쳤을 때, 네트워크 상 어떤 일이 일어나는지 최대한 자세하게 설명해 주세요.
[브라우저의 주요 구성 요소]

- 사용자 인터페이스
- 브라우저 엔진 / 레이아웃 엔진
- 렌더링 엔진
- 자료 저장소
- 통신(Networking)
- HTTP/HTTPS 네트워크 처리
- 플랫폼과 독립적인 인터페이스로, 각 플랫폼의 하부에서 실행.
- 자바스크립트 해석기
- 스크립트를 파싱 할 때 사용하는 JS 엔진
- HTML을 파싱 중 script 태그를 만나면, JS 엔진이 제어 권한을 넘겨받음.
- 동기적으로 진행 : JS엔진이 작업을 마칠 때까지 HTML에서 진행 중인 과정은 잠시 중지된다.
- UI 백엔드

1. 사용자가 웹브라우저 검색창에 주소 입력
2. 웹 브라우저는 캐싱된 DNS 기록들을 통해 해당 도메인 주소와 대응하는 IP주소를 확인
3. 웹브라우저가 HTTP를 사용하여 DNS에게 입력된 도메인 주소를 요청
4. DNS가 웹브라우저에게 찾는 사이트의 IP주소를 응답
DNS(Domain Name System Servers) ’도메인 이름 시스템 서버’는 URL들의 이름과 IP주소를 저장하고 있는 데이터베이스로, 웹사이트를 위한 주소록이라고 생각하면 된다.
5. 웹브라우저가 웹서버에게 IP주소를 이용하여 html 문서를 요청
ㄴ브라우저는 GET요청을 통해 서버에게 www.github.com의 웹페이지를 요구함.
6. 웹어플리케이션서버(AWS)와 데이터베이스에서 우선 웹페이지 작업을 처리
웹서버 : 정적 컨텐츠(HTML, CSS 등)를 요청받아 처리
WAS : 동적 컨텐츠(JSP,ASP,PHP)를 요청받아 처리
7. 작업처리 결과 → 웹서버로 전송
8. 웹서버 → 웹브라우저에게 html 문서결과를 응답
1xx ⇒정보만 담긴 메세지
2xx ⇒ response 성공
3xx ⇒ 클라이언트를 다른 URL로 리다이렉트
4xx ⇒ 클라이언트 측에서 에러 발생
5xx ⇒ 서버 측에서 에러 발생
8. 웹브라우저 화면에 웹페이지 내용물 출력
- 참고 -
'CS 준비' 카테고리의 다른 글
| [네트워크]DNS란? (0) | 2025.02.10 |
|---|---|
| [네트워크]3-Way Handshake & 4-Way Handshake (0) | 2025.02.10 |
| Q. TCP와 UDP의 차이에 대해 설명해 주세요. (0) | 2025.02.04 |
| 세그멘테이션과 페이징의 차이점 (0) | 2025.01.18 |
| Q. 가상 메모리란 무엇인가요? (0) | 2025.01.18 |