안녕하세요?
이번 포스팅에서는 백엔드 개발을 공부하기 전에 필수적으로 알아야하는 기초 지식 중 URL
, IP
, PORT
에 대해서 공부해보도록 하겠습니다.
그럼 오늘도 출발~
Uniform Resource Locator
URL은 웹에서 주어진 고유 리소스 주소입니다
여기서 리소스는? HTML, CSS 및 이미지 등이 해당됩니다
URL로 표시되는 리소스와 URL 자체는 웹 서버에서 처리된다고 하네요!
예시 페이지 링크를 통해서 좀 더 자세히 알아볼까요?
1. http://127.0.0.1:3000
2. https://www.naver.com
위 예시 페이지 링크 앞쪽을 확인해주세요
http
, https
가 작성되어있죠?
URL의 첫 번째 부분은 리소스를 요청하는 데 사용되는 프로토콜입니다.
웹 페이지에서는 http
, https
가 많이 사용되는데 요즘엔 무조건 https
를 사용합니다.
왜냐하면, https
의 경우 http
와 달리 보안처리가 되어 있기 때문이에요.
또 웹페이지가 아닌 특정 기능을 위한,
예를 들어 메일 클라이언트를 호출하는 mailto:
전화 걸기를 호출하는 tel:
스키마가 있으니 참고해요~
위 예시에서 www.naver.com
, 127.0.0.1
는 도메인이라고 하는데, 이것은 내가 요청하는 서버입니다.
일반적으로 영문으로 작성되어있고, 간혹 IP주소 자체로 사용되는 경우도 있습니다
IP는 Internet Protocol의 약자로 인터넷에 연결되어 있는 모든 기기들을 식별할 수 있도록 부여되는 고유주소입니다
IPv4
, IPv6
2 종류가 있는데
일반적으로는 IPv4
를 사용한다고 하네요
IPv4
는 IP version 4로 전 세계에서 사용한 첫 번째 인터넷 프로토콜입니다
주소는 32비트 방식으로 8비트씩 4자리로 이루어져 있으며 각 자리는 .
으로 구분합니다
127.0.0.1
하지만 인터넷 사용자 수가 엄청나게 많아지면서 IPv4 주소가 부족해질 상황이 왔습니다
이러한 문제를 해결하기 위해 나온 게 IPv6
입니다
IPv6
는 IPv4
와 다르게 128 비트의 크기를 가집니다
16비트씩 8자리로 각 자리는 :
으로 구분합니다
다만 IPv6
는 기존 IPv4
에서 변경하는데 비용이 많이 들어 아직 상용화 되진 않았다고 하네요
포트는 웹 서버의 리소스를 접근할 때 사용되는 게이트입니다.
논리적인 접근 장소라고 생각하면 되는데, 클라이언트가 네트워크에서 특정 서버 프로그램을 지정하는 방법으로 사용돼요.
네트워크 통신을 하려면, IP를 토대로 해당 서버가 있는 컴퓨터에 접근하게 되는데, 컴퓨터에 여러 개의 서버가 실행되고 있다면 어디로 접근해야하는 지 알 수 없겠죠?
따라서 어느 방으로 들어가라! 하고 알려주는게 포트입니다.
포트번호는 16비트의 논리적 할당으로 0~65536
번 까지 존재합니다.
이 중 0~1023
번 까지는 이미 정해져있어요.
http
는 80번
https
는 443번
ssh
통신은 22번 포트를 사용하듯이요.
위에 작성한 예시에서는 3000번 포트를 사용했네요
참고로 NodeJS의 기본 포트입니다!
http://127.0.0.1/weather?area=kr&date=2023-01-01
가끔 엄청나게 긴 주소를 본적이 있죠?
위 예시처럼 도메인 뒤 ?key=value&key=value
식으로 붙는 건 웹 서버에 제공되는 추가 매개변수입니다
매개변수는 &
기호로 구분하여 key-value 쌍으로 나타내는데, 웹 서버는 해당 파라미터를 받아서 추가 작업을 수행할 수 있습니다.
앞으로도 공부할 게 너무 많네요
꾸준히 그리고 열심히 해야겠습니다
그럼 뇽안~