본문 바로가기

IT/Network

Domain과 URL 이해

반응형

Domain이란?


인터넷에 연결된 컴퓨터와 컴퓨터 간의 통신을 위해서는 IP주소를 이용해 접속해야한다.


IP주소는 알다시피 192.168.0.1과 같은 숫자로 구성되어있다.


==


EX. 아이피주소를 통해 네이버(www.naver.com)에 접속해보자.


네이버에 접속하기 위해서는 네이버 사이트의 아이피 주소를 알아야 하는데,


구글 CHROME의 경우 웹스토어 확장 프로그램 website ip를 설치해주면 간단하게 알아볼 수 있다




네이버에 접속하면 우측 하단에 네이버 주소가 조그맣게 보인다


그 주소를 똑같이 URL 창에 입력하면 www.naver.com를 입력하는 것과 마찬가지로 네이버에 접속할 수 있다.


==


이처럼 아이피주소를 사용해 사이트에 접속할 수 있는데, 아마 일반인들 입장에서는 아이피주소로 사이트에 접속해본 경험이 


대부분 전무할 것이다.


매번 같은 사이트를 접속할때마다 숫자로 구성된 아이피주소를 외우고 접속하는 것은 상당히 불편하기 때문.


그래서 도메인이란 것이 있고 도메인은 앞서 봤던 www.naver.com과 같이 되어있어 도메인을 이용하면 숫자로만 되어있는 아이피주소보다 사이트 접속하기에 더 편리하다.(정확히는 www.naver.com은 도메인 이름, domain name이라 부른다)


(But. 상당 수의 도메인들이 이미 사용중이기때문에 앞으로의 이용자들이 알아보기 쉽고 간단한 도메인을 갖기란 쉽지 않다)


네이버같은 대형 사이트는 하나의 IP주소만 가지고 있지는 않으며 여러 개의 IP주소를 가지고 있으나 그것을 모두 www.naver.com 도메인에 묶어서 사용자가 접속을 요청하면 가지고 있는 IP주소를  적절하게 분배해준다


도메인은 이렇게 naver.com과 같은 부분까지를 도메인이라 부르고,


URL은 특정 웹사이트의 특정 위치까지 가기위한 전체 경로까지라고 보면 된다


https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=URL


네이버에서 URL을 검색창에 입력해서 검색했을 때의 주소이다. 이렇게 주소 전체를 가리켜 URL이라한다


Java를 이용해 네이버 IP 알아내기


 public class InetAddressExample {

public static void main(String[] args) {

try{

InetAddress local = InetAddress.getLocalHost();

System.out.println("내컴퓨터 IP 주소: " + local.getHostAddress());

// 내 컴퓨터 IP 주소 출력

InetAddress[] iaArr = InetAddress.getAllByName("www.naver.com");

// 네이버가 가진 모든 IP 주소를 가져온다

for(InetAddress remote : iaArr){

System.out.println("www.naver.com IP 주소: "+ remote.getHostAddress());

}

// 향상된 for문으로 배열에 담긴 IP 주소를 하나씩 꺼내서 출력한다

}catch(UnknownHostException e){

e.printStackTrace();

}


}


}


DNS 서버란?


대부분의 사용자는 웹사이트에 접속할때 도메인 이름(ex. www.naver.com)으로 접속하게되고, 그 도메인 이름을 요청 받아서 그 도메인 이름과 연결되어있는 웹사이트의 아이피주소(ex. 202.179.177.22 2017년 9월 17일 기준 네이버 웹사이트 IP 주소)를 사용자 컴퓨터에 전달해주는 역할을 하는 서버이다.


그러므로 사용자는 먼저 도메인 이름을 통해 웹사이트에 접속 요청을 하고 DNS 서버에서 해당 도메인 이름에 연결된 아이피 주소로 응답을 보내고 다시 사용자 컴퓨터는 해당 아이피 주소로 데이터 요청을 하고 실제 데이터 처리를 하는 서버에서 데이터를 응답 받게 된다


==


아래는 도메인의 종류와 도메인이 가진 의미를 간단하게 정리한 것이다


많이 봐왔던 도메인들이 가진 의미를 알아두면 임의의 사이트를 들어갔을때 그 사이트가 어떤 성격의 사이트인지(공공 사이트


인지 영리사이트인지 어느 국가의 사이트인지) 이해하는데 도움이 될 것같다



generic Top-Level Domain 일반 최상위 도메인


.com

company 회사용으로 만든 도메인. 그러나 개인 자격으로도 발급이 가능하다


.edu

교육목적 전용.


.gov

미국 정부기관 전용. (미국 지역 제한)


.net

원래는 네트워크 관련 사이트용이었으나, 제한이 해제되었다.


.org

다목적


country code Top-Level Domain 국가별 최상위 도메인


.kr

대한민국


.jp

일본


.us

미국


.uk

영국


.cn

중화인민공화국(중국)


.fr

프랑스


출처: 나무위키 도메인


대한민국의 최상위 도메인 kr에서 대표적으로 많이 쓰이는 도메인

co.kr 영리

or.kr 비영리

go.kr 정부 기관 행정 기관/입법 기관/사법 기관


ac.kr 대학/대학원 전문대학을 포함



반응형

'IT > Network' 카테고리의 다른 글

HTTP의 이해  (0) 2017.09.23
Explorer의 문제점과 ActiveX 폐지 운동  (0) 2017.09.17
네트워크 접속 장치, 인터넷 주소 개념 정리  (0) 2017.09.17
Protocol 프로토콜 이해  (0) 2017.09.16