포트(port)는 "논리적인 접속장소", 특히 인터넷 프로토콜인 TCP/IP를 사용할 떄에는 클라이언트 프로그램이 네트워크 사으이 특정 서버 프로그램을 지정하느 방법으로 사용된다.
네트워크 상에서 통신을 할 때 IP를 토대로 해당 서버가 있는 컴퓨터에 접근한다.
인터넷 주소는 IP 이다.
123.123.134.124 과 같은 32비트 숫자이다.
한개의 호스트, 즉 아이피를 가지고 있는 컴퓨터(또는 서버)에서 여러가지 인터넷 서비스를 할 수 있다.
대표적으로 인터넷웹 서비스 , 메일 서비스, DNS서비스 , FTP 서비스 등이 있다.
한개의 호스트로 오는 패킷이 어떤 서비스에 대한 요청인지 파악하기 위해서 포트번호라는 것을 사용한다.
✅ 핵심
그런데 대부분의 경우 하나의 컴퓨터에는 여러 개의 서버가 실행될 수 있다.
컴퓨터에 여러 개의 서버가 실행되고 있다면, 어느 서버에 접속해야 하는지 컴퓨터에게 알려줘야 한다.
이때 사용되는 것이 포트 번호
가령 인터넷 웹 서비스, 즉 HTTP 서버는 80 포트를 이용한다.
메일 서비스, 즉 SMTP 서버는 25번을 사용한다.
DNS 서버는 52번 , FTP는 21번(passive port는 별도)을 사용한다.
HTTPS는 암호화되지 않은 HTTP 서버가 아닌 웹 서버와 암호화 된 연결을 설정한다.
HTTP와 HTTPS는 서로 다른 프로토콜이므로 두 개의 서로 다른 포트를 사용한다.
HTTP는 포트 80에서 사용할 수 있고 HTTPS는 포트 443에서 사용할 수 있다.
"https : //"로 시작하는 웹 사이트에 연결할 때마다 또는 자물쇠 아이콘이 표시 될 때마다 포트 443을 통해 해당 웹 서버에 연결된다.
한개의 호스트에서 두개 이상의 웹 사이트를 운영하고 싶을 때에 두가지 방법이 있다.
www.dream.com 과 dream.security.com 또는 아예 다른 도메인 www.dream123.com 등으로 나누어서 관리를 하자.
한개의 웹 서버(아파치 , IIS)에서 이렇게 도메일 별로 root directory 등 설정을 달리하여 따로 관리할 수 있는 기능이 있다.
80포트를 이용한 한개의 서비스이지만, 그 서비스 내에서 도메인에 따라 다르게 동작하도록 하는 것이다.
이 방법은 성격이 다른 서비스를 운영하고 싶을 때에 좋다.
80포트를 사용하는 웹서버 말고, 또 하나의 웹서버를 설치한다.
웹사이트의 특성에 따라 서버의 종류와 특성이 다를 수 있기 때문에 아예 서비스하는 데몬 자체가 달라야할 필요가 있을때이다.
다른 포트로 서비스를 할 때에 주로 쓰는 번호가 8080 이다.
8080 포트는 IANA 에서 HTTP Alternate(see port 80)라고 정의하고 있다.
대부분의 브라우저에서는 크롬이나 인터넷 익스플로러 등 모두가 웹 서비스 포트는 80 이라고 생각하고 동작한다.
만약 8080 포트로 서비스하는 웹 서버에 접속하려면 도메인 끝에 콜로(:)와 함께 포트번호도 명시해야 한다.
즉 http://www.dream.com:8080 이런식이다.
http://www.dream.com 으로 검색하면 웹 브라우저는 80 포트로 접속한다.(80은 생략 가능하기 때문)
URL 구성을 살폅면 맨 앞에는 http와 같은 통신 규약이 온다.
http,ftp 등등 어떠한 방법으로 통신을 할 것인지를 적는 것이다.
그 다음 도메인이나 ip를 적고 , 뒤에 포트 번호를 적는다.