컴퓨터 네트워크 35장
- 웹 서비스 구조 -
웹은 익명 FTP 기능과 유사한 네트워크 서비스로 인터넷에 연결된 다수의 사용자가 로그인 절차 없이 WWW 서버에 접속할 수 있게 해준다. 웹 환경은 서비스를 제공하는 서버와 서비스를 이용하는 클라이언트의 연결 구조를 지원하는 클라이언트-서버 모델을 사용한다. 전 세계적으로 웹 서버의 TCP 포트 번호는 80번으로 지정된다. 보안을 위해 8000, 8080 등을 이용하기도 한다. 보안이 강화된 HTTPS의 경우 TCP 포트 번호 443을 이용한다. 웹 브라우저는 http 또는 https 서비스에 지정된 포트를 통해 서버와 연결을 시도한다. 실제로 인터넷 익스플로러, 구글 크롬과 같은 다양한 웹 브라우저가 존재한다. 웹 서버와 연결이 되면 클라이언트의 정보 요구에 대해 서버가 웹 문서를 회신한다. 사용자 요구마다 연결 설정과 해제 과정을 반복하여 진행하게 된다.
URL은 서버의 자원 명칭으로 클라이언트가 웹 서버를 지칭할 때 사용하는 주소이다. Uniform Resource Locator의 약자로 사용하는 프로토콜, 서버의 호스트 이름, 서버 내부의 파일 경로명으로 구성되어 있다. 예로 http://www.korea.co.kr/welcome.html 이라는 URL이 존재한다고 한다면 http라는 프로토콜을 사용하고 www.korea.co.kr 이라는 웹 서버에 존재하는 welcome.html 파일을 요청하는 것을 의미한다.
HTTP는 클라이언트의 요청과 서버의 응답 정보를 전송하기 위한 목적으로 구현된 프로토콜이다. HyperText Transfer Protocol의 약자이다.
클라이언트와 서버 모델의 연결 설정과 해제를 살펴보자. 사용자가 웹 브라우저에게 웹 서버의 URL 주소를 입력하면 웹 브라우저가 DNS 서버에게 웹 서버의 호스트 이름을 IP 주소로 변경을 요청한다. 웹 브라우저가 IP주소와 포트 번호(80번)를 이용하여 웹 서버와 TCP 연결을 시도한다. 웹 브라우저가 웹 서버에게 최초 화면을 위한 GET 명령을 전송하면 웹 서버가 웹 브라우저에게 요청한 웹 문서를 회신한다. 웹 브라우저와 웹 서버 사의의 연결을 해제하고 웹 브라우저가 사용자 화면에 웹 문서를 출력하게 된다.
APM은 Apache, PHP, MySQL를 합쳐 부르는 말이다. 아파치는 웹 서버 프로그램이고 PHP는 HTML 언어의 기능을 보안하는 역할을 하며 MySQL은 데이터베이스 기능을 지원하는 프로그램이다. PHP는 모든 종류의 운영체제에서 지원하며 MySQL과 연동하기 쉽다. APM의 동작 원리를 살펴보면 우선 웹 브라우저가 아파치에 웹 문서를 요청한다. PHP 코드가 존재하면 처리를 위해 PHP에 요청을 한다. 데이터베이스 처리가 필요할 경우 MySQL에 요청을 하게 된다. 데이터베이스 결과가 먼저 회신되고 이 후 PHP가 실행 결과인 HTML 코드를 회신한다. 이를 아파치가 웹 문서를 웹 브라우저에 회신을 하는 과정으로 화면에 보여 지게 된다.
PHP 코드는 HTML 문서 안에 Embedded 형식으로 작성된다. <?와 ?>를 이용하여 구분을 하게 되어 PHP 코드가 포함된 문서의 확장자는 .php로 작성한다. 웹 브라우저에 회신되는 내용은 PHP 코드가 작성된 HTML 코드가 나오게 된다. PHP 코드는 서버에서 실행되고 결과만 나오게 되는 것이다.
출처 - 데이터 통신과 컴퓨터 네트워크
'컴퓨터 네트워크' 카테고리의 다른 글
컴퓨터 네트워크 37장 - HTTP & CGI - (0) | 2017.05.11 |
---|---|
컴퓨터 네트워크 36장 - HTML - (0) | 2017.05.11 |
컴퓨터 네트워크 34장 - 소켓 시스템 콜 - (0) | 2017.05.07 |
컴퓨터 네트워크 33장 - 소켓의 주소 체계와 서비스 - (0) | 2017.05.07 |
컴퓨터 네트워크 32장 - 응용 계층 - (0) | 2017.05.05 |