일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Methods
- 반복문
- javascript
- 프론트엔드
- flex-direction
- 함수표현식
- 함수선언식
- for
- typeof
- 화살표함수
- for of
- if else
- 문자열
- 함수
- 속성
- 비교연산자
- 조건문
- 변수
- justify-content
- properties
- 타입
- ELSE
- for in
- align-content
- frontend
- flex-wrap
- 기초
- 논리연산자
- boolean
- flex
- Today
- Total
하얀 코딩
[HTTP - 4] IP와 PORT 본문
IP (Internet Protocol)
IP는 인터넷상에서 사용하는 주소체계를 의미합니다.
네트워크에 연결된 특정 PC의 주소를 나타내는 체계를 IP address(IP 주소)라고 합니다.
인터넷에 연결된 모든 PC는 IP 주소체계를 따라 네 덩이의 숫자로 구분됩니다. ex) 123.456.789.123
이렇게 네 덩이의 숫자로 구분된 IP 주소체계를 IPv4라고 합니다.
IPv4는 Internet Protocol version 4의 줄임말로, IP 주소체계의 네 번째 버전을 뜻합니다.
터미널(CLI)을 열고, nslookup 명령어로 nslookup naver.com 을 입력하면 해당 사이트의 IP 주소를 알 수 있습니다.
nslookup naver.com
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 version 4)으로 네트워크에 연결된 PC에 주소를 할당하는 일이 가능했습니다. 그러나 개인 PC의 보급으로 전 세계의 누구나 PC를 이용해 인터넷에 접속하고, 각종 서비스를 위해 서버를 생산하면서 IPv4로 할당할 수 있는 PC가 한계를 넘어서게 되었습니다. 이를 위해 세상에 나오게 된 것이 IPv6(IP version 6) 입니다. IPv6는 표기법을 달리 책정하여 2^(128)개의 IP 주소를 표현할 수 있습니다.
PORT
터미널에서 리액트를 실행하면 나타나는 화면에는, 로컬 PC의 IP 주소인 127.0.0.1 뒤에 :3000과 같은 숫자가 표현됩니다.
이 숫자는 IP 주소가 가리키는 PC에 접속할 수 있는 통로(채널)를 의미합니다.
리액트를 실행했을 때에는 로컬 PC의 IP 주소로 접근하여, 3000번의 통로를 통해 실행 중인 리액트를 확인할 수 있습니다.
이미 사용 중인 포트는 중복해서 사용할 수 없습니다.
만약 다른 프로그램에서 3000번 포트를 사용 중이라면, 다음과 같이 다른 포트 번호(3001)로 리액트가 실행됩니다.
포트 번호는 0~ 65535 까지 사용할 수 있습니다. 그중에서 0 ~ 1024번 까지의 포트 번호는 주요 통신을 위한 규약에 따라 이미 정해져 있습니다. 반드시 알아야 할 잘 알려진 포트 번호는 다음과 같습니다.
- 22 : SSH
- 80 : HTTP
- 443: HTTPS
- 더 많은 포트 번호 확인하기
이미 정해진 포트 번호라도, 필요에 따라 자유롭게 사용할 수 있습니다. HTTP(:80), HTTPS(:443)과 같이 잘 알려진 포트의 경우, https://codestates.com:443이 아닌 https://codestates.com처럼 포트 번호를 URI에 생략할 수 있지만, 그 외의 잘 알려지지 않은 포트(3000과 같은 임시 포트)는 반드시 포트 번호를 포함해야 합니다.
'HTTP' 카테고리의 다른 글
[HTTP - 6] 크롬 브라우저 에러 읽기 (0) | 2023.01.06 |
---|---|
[HTTP - 5] Domain, DNS 기초 (0) | 2023.01.05 |
[HTTP - 3] URL & URI (0) | 2023.01.05 |
[HTTP - 2] Client - 서버 통신과 API (0) | 2023.01.05 |
[HTTP - 1] Client Server Architecture (0) | 2023.01.05 |