웹 사이트의 주소는 전송받고 싶은 웹 페이지를 이용하는 것으로 URL(Uniform Resource Locator)이라고 한다. URL은 스키마, 호스트명, 포트 번호, 자원의 경로로 구성된다. 포트 번호는 웰 노운 포트로 생략될 수 있다.
{스키마}://{호스트명}:{포트 번호}/경로
ex) http://www.naver.com/index.html
- 스키마 : 웹 브라우저가 웹서버에 접속하기 위한 프로토콜
URL은 이름 그대로 원하는 웹 서버 내에 있는 자원의 경로를 가르킨다. 반면, URI(Uniform Resource Identifier)는 자원을 식별하기 위한 방법으로 URL보다 더 상위의 개념이다. 원하는 자원에 대한 식별 정보를 요청하면 웹 서버가 이에 해당하는 자원을 찾아 반환한다.
http://www.naver.com
는 웹 서버를 가리키므로 URL이면서 URI다.http://www.naver.com/page/home/document/example.pdf
는 example.pdf
라는 자원의 위치를 가리키므로 URL이면서 URI다.http://www.naver.com/admin/users/335985
는 유저에 대한 식별 정보를 가지므로 URI다.http://www.naver.com/admin/users?id=335985
는 query string이 유저에 대한 식별 정보를 제공하므로 URI다. 하지만 query string을 제외하면 user 자원이 있는 위치를 가리키고 있으므로 URL이면서 URL다.웹 서버와 웹 브라우저는 HTTP 메시지를 통해 요청과 응답을 주고 받는다. 이 과정에서 웹 브라우저는 HTTP 메세지의 일부 내용을 쿠키로 저장하여 사용자의 로그인 정보, 웹 페이지 열람 이력 등 특정 정보를 저장한다. 이 것을 활용해 웹 페이지를 사용해 취향에 맞는 정보를 제공하는 등의 서비스를 제공하기도 한다.
웹 브라우저와 웹 서버 사이에 프록시 서버를 두는 경우가 있다. 프록시는 대리라는 의미로 말 그대로 웹 사이트 접속을 대행하는 서버다. 이를 통해 요청되는 모든 URL을 모니터링이 가능하다. 여기서 URL 필터링을 통해 요청을 제한할 수도 있다. 또한 트래픽을 분산시켜 한 서버에 과부화가 걸리는 것을 방지할 수 있다.