개발서/서버의 기본

5-04 웹서버의 역할

nohesitation 2020. 9. 1. 20:24

인터넷의 여러 웹서비스를 제공할 때 사용하는 대표적인 프로토콜로 HTTP(HyperText Transfer Protocol)이 있다.

HTTP는 구성이 단순함에 비해 다양한 분야에서 사용하기 쉽기 때문에 인터넷에서 없어서는 안될 필수적인 존재가 되었다.

 

웹서비스를 제공하는 서버 소프트웨어라면, 대표적으로 오픈소스인 Apache와 Windows Server의 표준인 IIS(Internet Information Services) 2가지를 꼽을 수 있다. 이 2가지는 웹 서비스를 제공한다는 공통점을 가지고 있지만, 서포트하고 있는 플랫폼이나 어플리케이션이 다르다. Apache의 경우 모든 플랫폼을 서포트하는 반면, IIS는 Windows Server만 서포트한다.

Web 클라이언트가 되는 소프트웨어에는 Web 브라우저가 일반적이다. Internet Explorer, Firefox, Chrome 등이 대표적이다.

 

HTTP는 웹브라우저의 "○○파일 주세요"라는 요청에 대해서, 웹서버가 "○의 데이터를 보냅니다" 대답하는 전형적인 클라이언트/서버형 프로토콜이다. 웹브라우저는 웹서버에 액세스할 때, "메소드"와 "URL(Uniform Resource Locator)"의 일부를 포함해서 송신한다. 

메소드는 서버에게 어떤 행위를 요구할 것인지를 나타낸다. 예를 들어, 파일을 전송하길 원한다면 GET, 반대로 파일을 보내길 원한다면 POST를 사용한다.

URL은 목적의 파일이나 프로그램(리소스)를 나타낸다. URL은 "http://www.example.jp/news/index.html"과 같이 표기한다.

최초의 "http"를 스키마명이라고 한다. 웹 브라우저는 이 스키마명을 보고 송수신에 사용하는 프로토콜을 결정한다.

스키마명부터 뒤로는 웹 서버의 호스트명(www), 도메인명(example.jp), 웹 서버 상의 파일주소(/news/index.html)을 지정하여, 목적으로 하는 데이터를 찾아낸다.