목차
웹 서비스 개요
전 세계적으로 웹 WWW, World Wide Web 서버의 TCP 포트 번호는 80번으로 지정되어 있다.
1) 클라이언트에 해당하는 웹 브라우저 Web Browser 는 이 포트 번호를 이용해 서버와 연결을 시도함
2) 웹 서버와 연결이 설정되면, 클라이언트의 정보 요구에 대해 서버가 웹 문서를 회신하는 방식으로 응답한다.
3) 서버가 전송한 문서 내용은 클라이언트의 웹 브라우저를 통해 사용자 화면에 표시됨
4) 클라이언트와 서버 사이의 연결은 사용자의 정보 요구가 발생할 때마다 새로운 연결을 설정 하고 해제하는 과정을 반복
➡ 서버가 제공하는 정보의 전송: TCP 연결에 의해 이루어짐.
➡ 웹 문서의 전송이 완료되어 사용자가 웹 브라우저로 보는 시점: TCP 연결이 이미 해제된 상태이다.
클라이언트-서버 모델
클라이언트와 서버의 연결 설정, 해제 과정은 사용자가 URL 주소를 새로 입력할 때마다 반복됨
이 과정에서 화면에 표시하려는 내용 중 사진 같은 멀티미디어 데이터가 존재하면 클라이언트는 해당 사진을 보관하는 서버와 추가로 TCP 연결을 설정함.
URL (Uniform Resource Locator)
의미: 클라이언트가 웹 서버를 지칭할 때 사용하는 주소이다.
[URL 주소의 표현]
세 부분으로 표현함
- 사용하는 프로토콜
- 연결하고자 하는 서버의 호스트 이름
- 서버 내부의 파일 경로명
예를 들어 아래의 URL주소를 분석해 보면,
http://www.yerim.co.kr/welcome.html
http
라는 프로토콜을 사용하여www.yerim.co.kr
이라는 웹 서버에 존재하는welcome.html
파일을 요청한다.
일반 사용자가 홈페이지를 만드는 법
웹 서버가 유닉스나 리눅스 시스템에 구현되었다는 전제하에,
1) 홈 디렉토리
밑에 public_html 디렉토리
를 만듦
2) 이곳에 index.html
이라는 파일을 기본 웹 문서로 작성한다.
예를 들어,
http://www.yerim.co.kr/~oh
- 로그인 이름이 oh이면
- oh 사용자의 홈 디렉토리에 위치한
public_html/index.html
문서는 다음과 위의 URL 주소를 입력하여 볼 수 있음. - HTTP (HyperText Transfer Protocol): 클라이언트의 요청과 서버의 응답 정보를 전송하기 위한 목적으로 구현된 프로토콜이다.
클라이언트와 서버 사이의 데이터 전송 과정
1) 사용자가 http://www.yerim.co.kr/welcome.html
형식의 URL 주소를 입력하면,
2) 서버의 호스트 이름인 www.yerim.co.kr
을 DNS 서버에 전송하여 IP 주소를 얻어냄.
3) 이후 IP 주소와 Well-known 포트인 80번을 사용해 웹 서버 프로그램과 TCP 연결을 시도함.
4) TCP 연결이 설정되고 클라이언트가 서버에 welcome.html
문서의 내용을 요청하면,
5) 서버가 이를 클라이언트에 회신한 후 둘 사이의 TCP 연결을 해제.
6) 클라이언트는 수신한 정보를 사용자가 볼 수 있게 웹 브라우저 화면에 표시.
➡ 따라서 사용자가 화면을 보는 시점에는 클라이언트와 서버 사이에 어떠한 전송 계층의 연결도 존재하지 않음.
일반적으로 웹 브라우저, 웹 서버, DNS 서버는 모두 다른 호스트에서 실행됨
DNS 서비스를 이용해 서버의 IP 주소를 얻는 작업은 모든 네트워크 응용 환경에서 클라이언트가 가장 먼저 실행함.