-
[Spring] DNS (Domain Name System)Spring 2025. 3. 27. 19:27
DNS(Domain Name System)
IP 주소는 사이트마다 특징도 없고 길어서(192.168.01, 111.254.45.21 등등) 외우기가 힘들다.
사람이 읽을 수 있는 도메인 이름을 컴퓨터가 읽을 수 있는 IP 주소로 변환
1. 컴퓨터 간의 통신을 위해선 IP 주소가 필요하다.
2. IP는 변경되는 주소이다.
-192.168.0.1 은 일반적으로 가정집에서 사용되는 IP는이다
DNS 동작 순서
원하는 이름의 도메인을 구매 후, DNS 서버에 등록한다.
> 클라이언트가 도메인 명(http:~~~)을 입력go DNS 서버에 요청한다.
(요청 패킷(HTTP 메세지가 포함되어 있다)을 구글 서버로 전송 요청)
>DNS 서버는 IP 주소를 조회하여 반환한다.
DNS 서버에 등록된 IP 주소만 바뀌더라도 클라이언트는 기존 그대로 접속이 된다.
(구글IP 변경은 DNS에만 변경하기만하면 외부에서는 변경된IP와 상관없이 접속 가능)
> IP주소를 받는다
( 구글IP 주소로 받는다, 포트 번호(http사용 되는 PORT는 443)는 생략 되어 있다.)
>https://spartacodingclub.kr/ 의 도메인 이름 형태로 웹에 접속(IP 형태가 아니다.)
일반적으로 URL이라 알고있는것이 바로 DNS를 활용한 예이다.
> 웹 브라우저에서 HTTP 요청 메세지를 생성한다.
> 요청 패킷(HTTP 메세지가 포함되어 있다)을 구글 서버로 전송한다
> 구글 서버에서 HTTP 요청 메세지를 기반으로 응답 HTTP 메세지를 만들어 응답
URI
자원(Resource 페이지, 텍스트, 이미지, 동영상, 파일 등 )을 가진 식별(Identifier)g하는 통일된 방식(Uniform)
인터넷 자원(Resource)을 식별할 수 있는 문자열을 뜻한다.
URI는 Locator(URL), Name(URN) 혹은 둘 다 추가로 분류될 수 있다
URI = URL (Uniform Resource Locator)+ URN(Uniform Resource Name)
URL (Uniform Resource Locator)
자원(Resource 페이지, 텍스트, 이미지, 동영상, 파일 등 )의 위치
일반적인 https:// 도메인 주소 (프로트콜을 포함)
=> 도메인 주소가 변경되면 찾을 수 없다는 단점이 있다.
URN(Uniform Resource Name)
이름으로 자원(Resource)의 이름(Name)을 특정하며 http와 같은 프로토콜을 제외하고 리소스의 name을 가리키는데 사용되는 URI이다.
리소스 접근방법과, 웹 상의 위치가 표기되지 않는지만, 실제 자원을 찾기 위해서는 URN을 URL로 변환하여 이용한다.
URN으로 실제 리소스에 접근하는 방법은 대중화 되어있지 않아 사용하지 않는다.
현재 대부분은 대중화된 URL을 사용하여, URI를 URL과 같은 의미로 사용한다.
- URL 구조
- scheme
- 주로 웹에서 사용하는 프로트콜을 말한다. ex) `http, https, ftp`
- 참고 : `https`는 `http`에 보안(Secure)을 추가한 것.
- user[:password]
- 사용자 정보
- URL은 보안에 취약하여 사용하지 않는다.
- host[:port]**
- 호스트명 : 도메인 명(http://www.google.com) 또는 IP 주소를 직접 사용한다.
- http : 80, https : 443 포트 사용
- 포트는 일반적으로 생략한다.
- [/path]
- 리소스의 경로
- 계층 구조로 구성되어있다.
**ex)
`프로토콜://쇼핑몰주소/products/macbookPro`**
`https://nbcamp.spartacodingclub.kr/backend`**
- [?query]
- key=value 형태로 구성된다.
- Query Parameter, Query String 이라고도 한다.
- 두 가지 모두 같은 말입니다. 자주 혼용되는 단어이니 잘 기억해주세요.
- ?로 시작되고 &으로 구분된다.
ex)`?key1=value1&key2=value2&key3=value`
- [#fragment]
- html 내부 북마크 등에 사용한다.
- 전달받은 URL로 접속 시 특정 위치(fragment)로 이동할 수 있음
ex) `http://www.google.com/index.html#imag`'Spring' 카테고리의 다른 글
[Spring]HTTP MESSEGE 구조 (0) 2025.03.27 [Spring] HTTP (0) 2025.03.27 [Spring] TCP / UDP (0) 2025.03.27 [Spring] 과제 - 일정관리 앱 만들기LV1~2 (0) 2025.03.26 [Spring] 과제 - 일정관리 앱 만들기LV0 (0) 2025.03.24