학습 목적(정리)로 작성되었고, 모든 내용이 정리되어 있지는 않습니다.
웹 서버는 수많은 리소스를 가지고 있기 때문에, 이들을 식별하기 위해 URI를 사용한다.
이를 통해 클라이언트, 서버가 웹 서버에 있는 리소스를 고유하게 식별할 수 있다.
URI는 URL, URN 크게 두 종류로 나눌 수 있다.
URL은 특정 서버의 한 리소스에 대한 구체적인 위치를 서술한다.
프로토콜 (scheme), 서버의 인터넷 주소, 웹 서버의 리소스의 세 부분으로 이루어진 표준 포맷을 따른다.
한 리소스에 대해, 리소스의 위치에 영향 받지 않는 유일무이한 이름을 말한다.
따라서, URN은 리소스의 위치가 변하더라도 URN이 변하지 않는다면 어떤 네트워크 접속 프로토콜로 접근하여도 문제가 없다. 하지만, 리소스 위치 분석을 위한 효율적 인프라가 아직 구축되지 않아 널리 채택되지 않았다.
HTTP 요청 , 응답 메시지가 웹 클라이언트 - 서버 간 트랜잭션으로 통신이 되는 것은 알았지만,
TCP Connection 관점으로 자세히 살펴보고자 한다.
전송 계층 프로토콜로, 다음과 같은 사항을 보장한다.
따라서, TCP Connection이 맺어지면 신뢰성 있는 의사소통이 가능하다.
네트워크 계층 프로토콜로, IP/Port 를 통해 최종적으로 TCP/IP 커넥션이 맺어진다.
이 때 서버의 IP주소는 앞서 언급한 URL을 통해 알 수 있는 것이다.
(URL에는 대부분 호스트명이 있고, DNS를 통해 IP주소로 얻을 수 있다.)
포트 번호의 경우, HTTP는 기본적으로 80번 포트를 가정하고 있다.
(만약 URL에 포트번호가 있다면, 그것을 포트번호로 사용하면 된다.)
이렇게 TCP/IP 커넥션이 HTTP 통신을 위해 맺어진다.