코딩과로그
TIL > URL과 URI 본문
URL : Uniform Resource Locator
scheme, hosts, port, url-path 의 순서로 조합됨.
ex)
URL: http://www.google.com:80/search/hellow
scheme : http://
hosts: www.google.com
port: :80
url-path: /search/hellow
scheme: 프로토콜을 정의함.
hosts: 도메인 or IP 주소
ex) www.google.com , 127.0.0.1
port: 웹 서버 접속 통로
url-path: 루트 디렉토리부터 시작한 경로
URI : Uniform Resource Identifier
= URL 에 추가로 query, bookmark 를 포함함.
다음과 같은 URI 이 있다면
http://www.google.com:80/search?q=JavaScript
query는 q=JavaScript에 해당됨.
DNS 찾기 순서
1. 브라우저 자체에서 DNS 캐시가 있는 지 확인한다. 있으면 해당하는 IP를 사용한다.
2. 없으면 자신의 컴퓨터 자체에 있는 DNS 캐시를 찾는다.
3. 없으면 라우터에 있는 DNS 캐시를 찾는다.
4. 없으면 ISP' DNS 서버의 캐시를 찾는다. 이 때 재귀 DNS 서버가 도움을 준다.
5. 없으면 리졸버는 'root name servers (RNS로 줄여부르겠다.)' 에서 도메인을 찾는다.
RNS 는 모든 TLD (top level domain) name server 를 알고 있다. 예를 들어 www.example.com 라는 도메인으로 검색했던 거라면 [.com] 을 다루는 TLD 이름 서버에 물어본다.
6. [.com] 을 다루는 TLD 네임 서버는 권한 네임 서버 (authoritative name server) 에 요청한다. 권한 네임서버는 example.com에 에 해당하는 DNS 레코드를 갖고 있고 각 레코드 안에 IP Address를 갖고 있다. 이 레코드와 매핑되는 도메인 이름을 찾아서 IP Address와 함께 반환한다.
7. IP Addess를 브라우저에 반환하는데, 이 때에 각각의 기기 (브라우저, 컴퓨터, 라우터, DNS 서버 등)에 IP Address를 저장해 다음부터 요청할 때는 캐시를 사용하도록 한다.
8. 브라우저는 받은 IP Address를 통해 TCP/IP 연결을 한다.
'Devops > TIL' 카테고리의 다른 글
TIL > 쿠키 & HTTP 헤더 (0) | 2023.03.21 |
---|---|
TIL > HTTP (0) | 2023.03.16 |
TIL > 시스템 모니터링 (0) | 2023.03.15 |
TIL > 프로세스, 서비스, 자동화 (0) | 2023.03.13 |
TIL > 리눅스 관련 (입출력, 관리자 권한 등) (0) | 2023.03.10 |