1. 입력한 URL 주소 중, 도메인 이름에 해당하는 google.com을 DNS 서버에서 검색합니다.
- 웹 브라우저는 DNS 서버에 검색하기 전에 캐싱된 DNS 기록을 통해 해당 도메인 주소와 대응하는 IP 주소를 확인합니다.
- 해당 도메인 이름에 맞는 IP 주소가 존재하면, DNS 서버에 도메인 이름에 해당하는 IP 주소를 요청하지 않고 캐싱된 IP 주소를 바로 반환합니다.
- 일치하는 주소가 없다면 DNS 서버에 도메인 이름에 해당하는 IP 주소를 요청합니다.
2. DNS가 웹브라우저에게 찾는 사이트의 IP주소와 사용자가 입력한 URL 정보를 함께 전달합니다.
- DNS query는 현재 DNS서버에 원하는 IP주소가 존재하지 않으면 다른 DNS 서버를 방문하는 과정을 반복해 IP주소를 찾습니다.
- 해당 도메인 이름에 맞는 IP주소로 변환하는 과정은 점(.)을 기준으로 계층적으로 구분하여 구성됩니다.
- 탐색 순서는 뒤에서부터 해당 도메인 이름에 맞는 지역 DNS를 탐색하며, root DNS 서버가 나올 때까지 거꾸로 탐색합니다.
3. 전달받은 IP주소를 이용해 웹 서버에게 해당 웹 사이트에 맞는 html문서를 요청합니다.
브라우저는 HTTP 프로토콜을 사용하여 요청 메시지를 생성하고 HTTP 요청 메시지는 TCP/IP 프로토콜을 사용하여 서버로 전송됩니다.
4. 서버는 response 메시지를 생성하여 다시 브라우저에게 데이터를 전송합니다.
5. 브라우저는 response를 받아 파싱하여 화면에 렌더링 합니다.
💡 용어 정리
- URL : URL(Uniform Resource Locator)은 통합 자원 지시자로 인터넷에서 특정 리소스(웹 페이지, 파일 등)를 찾기 위한 주소 체계입니다. URL을 통해 인터넷상의 모든 리소스를 요청할 수 있으며, HTTP, FTP 등의 자원 요청도 가능합니다. URL은 아래와 같은 요소로 구성됩니다.
- 프로토콜: 리소스를 어떻게 접근할지 정의 (예: http, https)
- 도메인 이름: 사람에게 읽기 쉬운 주소 (예: www.google.com)
- 경로(Path): 서버 내 특정 리소스 위치 (예: /search)
- 쿼리(Query): 추가 요청 데이터 (예: ?q=example)
- 포트 번호 (선택 사항): 통신할 서버의 포트 (예: :80)
- DNS : 도메인 이름 시스템(DNS)은 사람이 읽을 수 있는 도메인 이름(https://www.google.com)을 IP 주소(142.250.185.14)로 변환하는 시스템입니다.
- IP 주소 : IP 주소는 인터넷에 연결된 각 장치를 식별하는 고유 번호로 장치 간 통신을 위해 출발지와 목적지를 식별하기 위해 사용됩니다.
- TCP : TCP (전송 제어 프로토콜)는 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 중요한 네트워크 프로토콜로 데이터가 손실되거나 순서가 뒤바뀌지 않도록 보장합니다.
- 프로토콜 : 네트워크에서 데이터가 어떻게 전송되고 처리될지 규정하는 약속이나 규칙입니다. 종류로는 HTTP, HTTPS 등이 있습니다.
- response : 서버가 브라우저(또는 클라이언트)의 요청(Request)을 처리한 후 반환하는 데이터입니다.
- 파싱 : 데이터를 읽고 분석하여 구조화된 형태로 변환하는 과정입니다. 브라우저가 서버에서 받은 데이터를 이해하고, 렌더링 하거나 추가 작업을 수행할 수 있도록 합니다.
- HTML 파싱 : HTML 문서를 읽고 DOM(Document Object Model)을 생성합니다.
- CSS 파싱 : CSS를 읽고 CSSOM(CSS Object Model)을 생성합니다.
'개발 공부 일지 > CS' 카테고리의 다른 글
[CS] 반사형 XSS (Reflected Cross-Site-Scripting) (0) | 2025.01.10 |
---|---|
[CS] 저장형 XSS (Stored Cross-Site-Scripting) (0) | 2025.01.09 |
[CS] XSS(Cross Site Scripting)란? (0) | 2025.01.09 |