코드스테이츠 7주차 / 브라우저의 작동원리(보이지 않는 곳)

support·2021년 12월 6일
0
post-thumbnail

✏️ Achievement Goals

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

📝summary

브라우저의 작동 원리(보이지 않는 곳)

1) URL, URI

URL(Uniform Resource Locator)

네트워크 상에서 웹 페이지, 이미지, 동영상 등 파일의 위치한 정보를 가리키는 주소이다
URL은 일반적으로 scheme, hosts, url-path로 구분할 수 있다
가장 먼저 작성하는 scheme은 통신 방식(프로토콜)을 결정하고
일반적인 웹 브라우저에서는 http(s)를 사용한다
hosts는 웹 서버의 이름이나 도메인, IP를 사용하며 주소를 나타낸다
url-path는 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타낸다

URI(Uniform Resource Identifier)

URI는 인터넷에 있는 하나의 자원을 가리키는 유일한 주소이고
URI는 URL을 포함하는 상위 개념이다.

URL의 기본 요소인 scheme, hosts, url-path에 더해 query, bookmark를 포함한다
query는 웹 서버에 보내는 추가적인 질문이다 http://www.google.com:80/search?q=JavaScript 를 브라우저의 검색창에 입력하면, 구글에서 JavaScript를 검색한 결과가 나타난다

URL - http://www.google.com:80/search
URI - http://www.google.com:80/search?q=JavaScript

2) IP

특정 PC를 나타내는 IP 주소
그 주소에 진입할 수 있는 정해진 통로, PORT(포트)

네트워크 상에서 특정 PC에 접속하려면 그 PC를 가리키는 주소를 알아야 한다
네트워크에 연결된 특정 PC의 주소를 나타내는 체계를 IP address(Internet Protocol address, IP 주소)라고 한다

IP는 인터넷상에서 사용하는 주소체계를 의미한다
인터넷에 연결된 모든 PC는 IP 주소체계를 따라 네 덩이의 숫자(127.0.0.1)로 구분된다
이렇게 네 덩이의 숫자로 구분된 IP 주소체계가 IPv4이다
IPv4는(Internet Protocol version 4) IP 주소체계의 네 번째 버전을 의미한다

IPv4는 각 덩어리마다 0부터 255까지 나타낼 수 있고
이 시스템을 따르면, 2^(32)인 약 43억 개의 IP 주소를 표현할 수 있다
이미 용도가 정해진 IP주소가 있는데 밑에 예시는 기억해둬야 한다

  • localhost, 127.0.0.1: 현재 사용 중인 로컬 PC
  • 0.0.0.0, 255.255.255.255 : broadcast address, 로컬 네트워크에 접속된 모든 장치와 소통하는 주소
    서버에서 접근 가능 IP 주소를 broadcast address 로 지정하면, 모든 기기에서 서버에 접근할 수 있다


IPv4로 만들어 낼 수 있는 IP주소가 고갈되기 시작해 IPv6(IP version 6)가 만들어졌다
IPv6는 표기법을 달리 책정하여 2^(128)개의 IP 주소를 표현할 수 있다

3) PORT

터미널에서 리액트를 실행하면 로컬 PC의 IP 주소인 127.0.0.1 뒤에 :3000과 같은 숫자가 나타난다
PORT(번호)는 IP 주소가 가리키는 컴퓨터에 접속할 수 있는 통로다
리액트를 실행했을 때에는 로컬 PC의 IP 주소로 접근해, 3000번의 통로를 통해 실행 중인 리액트를 확인할 수 있다
하나의 운영체제 내에서 소켓(네트워크 망의 연결에 사용되는 도구)을 구분하는 용도로 사용되기 때문에 사용중인 포트는 중복해서 사용할 수 없다

포트 번호는 0~ 65,535 까지 사용할 수 있다
그 중에서 0 ~ 1024번 까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있다

  • 22 : SSH
  • 80 : HTTP
  • 443: HTTPS

4) 도메인

웹 브라우저를 통해 특정 사이트에 진입을 할 때, IP 주소를 대신하여 사용하는 주소

IP 주소를 기억하는 건 어렵기 때문에 도메인 네임을 사용한다
터미널에서 도메인 이름을 통해 IP 주소를 확인하는 명령어 nslookup으로 naver.com 의 IP 주소를 확인할 수 있다


IP 주소는 223.130.195.95 이고, 도메인 이름은 naver.com 이다
주소창에 IP 주소(223.130.195.95)를 입력하면, naver.com으로 이동할 수 있다

5) DNS

네트워크 상에 존재하는 모든 PC는 IP 주소가 있다
하지만 모든 IP 주소가 도메인 이름을 가지는 것은 아니다

도메인 이름은 일정 기간 동안 대여하여 사용하고
대여한 도메인 이름과 IP 주소는 서로 매칭되어 사용된다
브라우저의 검색창에 도메인 이름을 입력하여 해당 사이트로 이동하기 위해서는, 해당 도메인 이름과 매칭된 IP 주소를 확인하는 작업이 반드시 필요하고 네트워크에는 이것을 위한 서버가 별도로 있다

DNS는(Domain Name System) 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템이다

만약 브라우저의 검색창에 naver.com을 입력한다면, 이 요청은 DNS에서 IP 주소(223.130.195.95)를 찾는다
그리고 이 IP 주소에 해당하는 웹 서버로 요청을 전달하여 클라이언트와 서버가 통신할 수 있도록 한다

0개의 댓글