[ 06.24 ] HTTP / 네트워크 (2)

Achievement Goals

🍑 브라우저의 작동원리 중 보이지 않는곳의 통신을 이해할 수 있다.
-URL과 URI의 차이를 이해할 수 있다.
-IP 주소와 PORT에 대해 이해할 수 있다.
-DNS와 IP 주소의 관계를 설명할 수 있다.

브라우저는 눈에 보이지 않는 곳에서도 열심히 움직인다.
그 중 보이지 않는곳에서의 통신이 어떻게 이루어지는지 알아보도록 한다.

2. URL / URI

(1) URL(Uniform Resource Locator)

네트워크 상에서 웹페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타낸다.
어떠한 사이트를 들어가면 쉽게 볼수 있는것으로, 그 사이트에 대한 정확한 주소가 나타나진다.
이 url 을 통해 크롬에서 내 컴퓨터의 브라우저에 있는 파일들도 탐색이 가능하다.

🤓 URL 의 구성요소

scheme : 통신방식(프로토콜) 결정
hosts : 웹서버의 이름이나 도메인, IP 주소를 나타낸다.
port : :80 ,:3000 , :443 같이, 웹서버에 접속하기 위한 통로
url-path : 웹서버에서 지정한 루트 디렉토리부터 시작하여 웹페이지, 이미지, 동영상, 등이 위치한 경로와 파일명을 나타낸다.

file://<scheme> 
127.0.0.1<hosts>
/Users/2sook2/Desktop/<url-path>

(2) URI(Uniform Resource Identifier)

위에서 본 URL 에 추가적인 요소인 query, bookmark 가 포함 된 것이다.

🤓 URI 의 구성요소

scheme : 통신방식(프로토콜) 결정
hosts : 웹서버의 이름이나 도메인, IP 주소를 나타낸다.
port : :80 ,:3000 , :443 같이, 웹서버에 접속하기 위한 통로
url-path : 웹서버에서 지정한 루트 디렉토리부터 시작하여 웹페이지, 이미지, 동영상, 등이 위치한 경로와 파일명을 나타낸다.
query : 웹 서버에 전달하는 추가질문

구글에서 서치기능의 url 까지 작성 후, 추가적으로 javaScript 의 정보를 찾기위해 작성한 것이 query 이다.

https:// <scheme> 
www.google.com<hosts>
:80 <port>
/search <url-path>
?q=JavaScript <query>

즉 URI 가 더 큰 개념이므로,
URL = URI 가 될 수 있지만, URI = URL 이 될수 없다.

🧐 IP 주소란 무엇일까?

네트워크에 연결된, 인터넷 상의 특정 PC 의 주소를 나타내는 체계를 IP주소(Internet Protocol Address) 라고 한다.
그 주소에 진입하기 위해서 정해진 통로인 PORT 즉 연결포트가 있어야 한다.

http://172.30.1.254:8899/login.asp

여기서 172.30.1.254 는 0~255까지의 숫자로 이루어진 IP주소이며, 4덩이로 나누어져 있기 때문에 이 주소 체계를 IPv4 라고 한다.

다 외울 수는 없지만 이것만든 알아두자!
localhost,127.0.0.1 => 현재 사용중인 로컬 PC 지칭
0.0.0.0,255.255.255.255 : broadcast address, 로컨 네트워크에 접속된 모든 장치와 소통하는 주소. 모든 기기에서 서버에 접근가능.

참고로, 터미널에서 원하는 사이트의 IP주소를 볼 수 있다.

nslookup 사이트.com 

현재는 개인pc 의 보급이 일반화 되면서 IPv6 까지 나온 상태이다.

2001:db8::ff00:42:8329

🧐 PORT란 무엇일까?

리액트 배울 때 port 주소 3000, 3001 .. 등등
모두 로컬 PC의 IP 주소뒤에 붙은것을 많이 봤었다. 이 포트는 IP 주소가 가르키는 채널을 말한다.
즉, 리액트 실행 시 로컬PC 의 IP주소로 접근하여 3000포트 통로를 통해 실행중인 리액트를 확인할 수 있었던 것이다.

PORT 번호는 0~65,535 까지 사용할 수 있지만 그 중 다음의 port번호정도는 알아두자.
22 : SSH
80 : HTTP
443 : HTTPS

3. 도메인과 DNS

(1) 도메인

실제로 어떤 사이트의 주소창을 볼때 IP주소 보다는 www.google.com 처럼 어떤 사이트인지 사용자가 좀 더 알기 쉽게 명명한다. 이를 도메인 이름이라고 하는데,
IP 주소가 지번이라면 도메인이름은 상호이름, 가게이름이라고 보면 된다.
ex)
서울특별시 종로구 123번지-4 => IP 주소
땡땡커피 => 도메인이름

(2) DNS

모든 IP주소가 도메인이름을 갖는것은 아니다.
로컬PC 를 나타내는 127.0.0.1은 localhost 로 사용할 수 있지만 그 외의 도메인이름은 일정 기간동안 대여하여 사용하게 된다.
이렇게 해당 IP주소와 도메인이름을 매칭시키기 위한 방법으로 DNS 가 있다.
DNS(Domain Name System) IP 주소를 도메인이름으로 변환하거나, 도메인 이름을 IP주소로 변환할 수 있도록 개발된 데이터 베이스 시트템이다.

터미널에서 ip 주소를 확인할 수 있는 nslookup 코드로 네이버의 IP 주소를 확인해보았다.

만약 우리가 검색창에서 네이버를 입력하면(요청) DNS 에서는 네이버의 IP주소인 125.209.222.142 주소를 찾게 된다.
그리고 이 IP주소에 해당하는 웹서버로 요청을 전달하여 클라이언트와 서버가 통신이 가능하게 만든다.

좋은 웹페이지 즐겨찾기