TCP/IP
HTTP는  어플리케이션 레이어 프로토콜이다. HTTP는 네트워크의 핵심에 대해서는 걱정하지 않아도 된다. 대신 TCP/IP에게 네트워킹의 자세한 부분을 위임한다.
TCP가 제공하는 것
 - Error-free data transportation
 - In-order delivery
 - unsegment data stream

인터넷은 TCP/IP를 기반으로 하고있다. TCP 커넥션이 일단 맺어지면 클라이언트와 서버간에 메세지가 교환되고 정보를 잃어버리거나 손상되지 않음을 보장한다. 네트워킹속에서 HTTP 프로토콜은 TCP위에 위치한다. HTTP는 메세지를 전송하기위해 TCP를 사용한다.
마찬가지로 TCP는 IP 레이어위에 위치한다.

Connections, IP Addresses, and Port Numbers
HTTP 클라이언트가 서버에게 메세지를 보내기전에, 클라이언트와 IP 프로토콜과 포트번호를 사용하는 서버와 TCP/IP연결이 필요하다. TCP 커넥션은 사무실에서 누군가 전화를 거는것과 같이 작동한다.
첫번째, 회사로 전화를 건다. 이것으로 당신은 정확하게 회사로 연결될 것이다. 그리고나서 원하는 사람과의 통화를 위해 내선번호를 누른다.

TCP에서도 어느서버에서 작동하고 있는 특정프로그램의 포트번호와 해당서버의 IP가 필요하다. 어떻게 HTTP서버의 IP와 포트번호를 알 수 있을까? 그렇다 URL !
우리는 URL들이 리소스의 주소를 가진다고 했었고, 리소스를 가진 서버의 IP주소를 우리에게 제공한다. 아래 URL을 보자

http://207.200.83.29:80/index.html
http://www.netscape.com:80/index.html
http://www.netscape.com/index.html

첫번째 URL은 서버의 IP(207.200.83.29)와 포트번호(80)를 가지고 있다.
두번재 URL은 IP는 가지고 있지않고, 도메인이름(또는 호스트네임)을 포함하고 있다.
호스트네임은 IP 주소를 사람들이 쉽게 접근하기 위한 알리아스(별칭)이다. 호스트네임은 DNS를 통해 쉽게 IP주소로 변경될 수 있다. Chapter 2에서 DNS와 URLs에 대해서 다룬다.
마지막 URL은 포트번호도 없다. HTTP URL에서 포트번호가 없는경우는 기본적으로 80으로 처리된다.

posted by blankus
태그 -
HTTP  |  2007/07/30 00:31
이 글의 트랙백 주소 :: http://www.blankus.net/trackback/23
이름 ::   비밀번호 :: 홈페이지 :: 비밀글
등록