본문 바로가기

💻 개발자/🚀 HTTP, 네트워크

[네트워크] 브라우저의 작동 원리 1 (보이지 않는 곳)

반응형

1. URL과 URI

URL, URI의 구성

URL은 Uniform Resource Locator의 줄임말로, 네트워크 상에서 웹 페이지, 이미지, 동영상 등의 파일이 위치한 정보를 나타낸다.

URL은 scheme, hosts, url-path로 구분할 수 있다. 가장 먼저 작성하는 scheme은 통신 방식(프로토콜)을 결정한다. 

일반적인 웹 브라우저에서는 http(s)를 사용한다. hosts는 웹 서버의 이름이나 도메인, IP를 사용하며 주소를 나타낸다.

url-path는 웹 서버에서 지정한 루트 디렉토리부터 시작하여 웹 페이지, 이미지, 동영상 등이 위치한 경로와 파일명을 나타낸다.

 

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

부분 명칭 설명
file://, http://, https:// scheme 통신 프로토콜
127.0.0.1, www.google.com hosts 웹 페이지, 이미지, 동영상 등의 파일이 위치한 웹 서버, 도메인 또는 IP
:80 , :443 , :3000 port 웹 서버에 접속하기 위한 통로
/search , /Users/username/Desktop url-path 웹 서버의 루트 디렉토리로부터 웹 페이지, 이미지, 동영상 등의 파일이 위치까지의 경로
q=JavaScript query 웹 서버에 전달하는 추가 질문

 

2. IP와 포트

IP

IP는 Internet Protocoldml 줄임말로, 인터넷상에서 사용하는 주소 체계를 의미한다.

인터넷에 연결된 모든 PC는 IP 주소체계를 따라 네 덩이의 숫자로 구분된다.

이렇게 네 덩이의 숫자로 구분된 IP 주소 체계를 IPv4라고 한다.

IPv4은 Internet Protocol version 4의 줄임말로, IP 주소체계의 네 번째 버전을 뜻한다.

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

PORT

터미널에서 리액트를 실행하면 화면에 로컬 PC의 IP 주소인 127.0.0.1 뒤에 :3000과 같은 숫자가 표현된다.

이 숫자는 IP 주소가 가리키는 PC에 접속할 수 있는 통로(채널)을 의미한다.

리액트를 실행했을 때에는 로컬 PC의 IP 주소로 접근하여, 3000번의 통로를 통해 실행 중인 리액트를 확인할 수 있다.

이미 사용 중인 포트는 중복으로 사용할 수 없다.

만약 다른 프로그램에서 3000번 포트를 사용 중이라면 다른 포트 번호로 리액트가 실행된다.

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

그중 잘 알려진 포트 번호는 다음과 같다.

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

 

3. 도메인과 DNS

Domain name

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

만약 IP 주소가 지번 또는 도로명 주소라면 도메인 이름은 해당 주소에 위치한 상호로 볼 수 있다.

이와 유사하게 도메인 이름을 이용하면 한눈에 파악하기 힘든 IP 주소를 보다 분명하게 나타낼 수 있다.

DNS

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

그렇다면 어떻게 도메인 이름과 IP 매칭할 수 있을까?

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

 

DNS는 Domain Name System의 줄임말로, 호스트의 도메인 이름을 IP 주소로 변환하거나 반대의 경우를 수행할 수 있도록 개발된 데이터베이스 시스템이다. 해당 IP 주소에 해당하는 웹 서버로 요청을 전달하여 클라이언트와 서버가 통신할 수 있도록 한다.

반응형