웹 브라우저와 웹 서버
deftkang.tistory.com 같은 URL을 입력하면 왜 해당 화면이 뜰까 그 이유는 복잡한 과정을 거친다. 이 과정을 단순화 하면 아래 그림과 같이 정리할 수 있다.
※ URL을 잘 모르시다면 https://deftkang.tistory.com/103 가서 공부
웹 브라우저에 URL을 입력하면 웹 서버라 불리는 프로그램이 웹 브라우저에 웹 페이지를 제공한다. 위 그림에서 4번이 웹 서버가 웹 브라우저에 웹 페이지를 제공하는 단계이다.
휴대폰의 전화번호처럼 인터넷을 통해 연결되는 컴퓨터들도 고유번호가 필요하다. 그래서 각 컴퓨터마다 IP주소를 가지고 있다. 그런데 IP주소는 192.168.0.1 과 같은 숫자들로 구성되어 있어서 외우기 쉽지 않다. 이런 이유로 IP 주소 대신에 "deftkang.tistory.com"과 같이 사람이 기억하기 좋은 도메인 이름을 사용한다.
웹 브라우저와 웹 서버는 IP 주소를 이용하여 연결하기 때문에 도메인 이름을 IP 주소로 변환할 필요가 있는데, 이 때 사용하는 것이 바로 DNS(Domain Name Server)이다. 웹 브라우저에서 URL을 입력하면, 웹 브라우저는 위 그림의 1번 과정처럼 도메인 이름에 해당하는 IP 주소를 DNS에 요청하고, DNS는 2번 과정처럼 IP주소를 응답으로 제공한다.
DNS로 부터 IP 주소를 받으면, 웹 브라우저는 3번 과정처럼 IP 주소를 이용해서 웹 서버에 연결한 뒤 URL에 해당하는 웹 페이지를 요청하고, 웹 페이즈를 응답받게 된다.
일반적으로 네트워크 프로그램에서 요청하는 쪽을 클라이언트(Client)라고 부르고, 요청을 받아 알맞은 기능이나 데이터를 제공하는 쪽을 서버(Server)라고 부른다.
포트(port)
한 개의 컴퓨터에서 웹 서버 프로그램뿐만 아니라 스트리밍 서버, 채팅 서버 프로그램등 실행될 수도 있다. IP 주소는 연결할 컴퓨터를 구분하는데 사용되기 때문에, IP 주소만으로는 컴퓨터의 어떤 서버 프로그램을 실행할 지 알 수 없다.
그래서 포트(port)라는 것을 사용한다. 포트는 숫자로 된 번호로서 서버 프로그램마다 구분되는 포트 번호를 사용하며, 클라이언트는 IP 주소와 함께 포트 번호를 사용해서 원하는 서버 프로그램에 연결하게 된다.
웹 서버 기본 포트는 80이다. 이는 URL에서 프로토콜이 http인 경우 별도로 포트를 지정하지 않으면 80번 포트로 연결한다는 것을 뜻한다.
http://localhost 라는 URL을 사용하면 웹 브라우저는 80번 포트를 이용해서 서버에 연결하고
http://localhost:8080/ URL을 사용하면 웹 브라우저는 8080번 포트를 이용해서 서버에 연결한다.
톰캣은 기본적으로 8080 포트를 사용한다.
최범균, 『최범균의 JSP 2.3 웹프로그래밍 기초부터 중급까지』, 가메출판사.
'Web > Network' 카테고리의 다른 글
[Network] 클라이언트와 서버의 HTML과 HTTP 사용 기본 이해 (0) | 2019.08.25 |
---|---|
[Network] 웹 서버와 WAS, 클라이언트와 서버 이해 (0) | 2019.08.25 |
[Network] 웹의 동작 (HTTP 프로토콜, URL 이해) (0) | 2019.08.06 |
[Network] TCP/IP 각 계층과 통신의 흐름 파악하기 (1) | 2018.06.05 |