[Network] 웹 브라우저와 웹 서버의 통신과정, IP와 DNS, 포트(port) 쉽게 이해하기

웹 브라우저와 웹 서버

deftkang.tistory.com 같은 URL을 입력하면 왜 해당 화면이 뜰까 그 이유는 복잡한 과정을 거친다. 이 과정을 단순화 하면 아래 그림과 같이 정리할 수 있다.


※ URL을 잘 모르시다면 https://deftkang.tistory.com/103 가서 공부


웹 브라우저와 웹 서버의 통신 과정


웹 브라우저에 URL을 입력하면 웹 서버라 불리는 프로그램이 웹 브라우저에 웹 페이지를 제공한다. 위 그림에서 4번이 웹 서버가 웹 브라우저에 웹 페이지를 제공하는 단계이다. 


웹 브라우저가 웹서버에 웹 페이지를 달라고 하는것 : 요청(request)

요청한 웹 페이지를 웹 브라우저에 제공하는 것 : 응답(response)


웹 브라우저와 웹 서버는 다른 컴퓨터에 위치한다. 예를들어, 집의 PC에서 웹 브라우저에 www.daum.net 주소를 입력할 때 연결하는 웹 서버 프로그램은 집 PC가 아닌 다른 컴퓨터에서 실행되고 있다. 웹 서버가 다른 컴퓨터에서 실행되고 있기 때문에, 웹 브라우저가 웹 서버에 연결하려면, 웹 서버가 실행중인 컴퓨터의 주소를 알아야 하는데, 이 주소를 IP 주소라 한다.


휴대폰의 전화번호처럼 인터넷을 통해 연결되는 컴퓨터들도 고유번호가 필요하다. 그래서 각 컴퓨터마다 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)라고 부른다. 


클라이언트와 서버 이해하려면 https://deftkang.tistory.com/104 참조


포트(port)

한 개의 컴퓨터에서 웹 서버 프로그램뿐만 아니라 스트리밍 서버, 채팅 서버 프로그램등 실행될 수도 있다. IP 주소는 연결할 컴퓨터를 구분하는데 사용되기 때문에, IP 주소만으로는 컴퓨터의 어떤 서버 프로그램을 실행할 지 알 수 없다.


그래서 포트(port)라는 것을 사용한다. 포트는 숫자로 된 번호로서 서버 프로그램마다 구분되는 포트 번호를 사용하며, 클라이언트는 IP 주소와 함께 포트 번호를 사용해서 원하는 서버 프로그램에 연결하게 된다.

정리하면 IP는 어느 컴퓨터인지 구분하고, 포트는 어떤 서버 프로그램을 사용할지 구분하는 것이다.


웹 서버 기본 포트는 80이다. 이는 URL에서 프로토콜이 http인 경우 별도로 포트를 지정하지 않으면 80번 포트로 연결한다는 것을 뜻한다.


http://localhost 라는 URL을 사용하면 웹 브라우저는 80번 포트를 이용해서 서버에 연결하고

http://localhost:8080/ URL을 사용하면 웹 브라우저는 8080번 포트를 이용해서 서버에 연결한다.


톰캣은 기본적으로 8080 포트를 사용한다.



최범균, 최범균의 JSP 2.3 웹프로그래밍 기초부터 중급까지, 가메출판사.




댓글

Designed by JB FACTORY