▷ 웹 서버는 보통 소프트웨어(Software)를 말하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 말하는 경우도 있다.
▷ 웹 서버의 가장 중요한 기능은 클라이언트(Client)-보통 웹 브라우저, 웹 크롤러-가 요청하는 HTML 문서나 각종 리소스(Resource)를 전달하는 것이다.
┗ 웹 브라우저/웹 크롤러는 HTTP에 맞도록 웹 서버에 리소스를 요청, 웹 서버는 요청한 리소스를 반환한다. 만약 리소스가 존재하지 않거나 요청한 리소스를 전송할 때 문제가 생기면 에러 메시지를 전송한다.
▷ 웹 브라우저/*웹 크롤러가 요청하는 리소스는 컴퓨터에 저장된 정적(static)인 데이터이거나 동적인 결과가 될 수 있다.
┗ 정적인 데이터 : 이미지, HTML 파일, CSS 파일, JavaScript 파일과 같이 컴퓨터에 저장되어 있는 파일을 의미.
┗ 동적인 결과 : 웹 서버에서 실행되는 프로그램을 통해 만들어지는 결과물.
▷ URL 주소가 HTTP로 시작되는 건 HTTP를 사용하기 때문이다. 클라이언트와 웹 서버 간에는 보통 HTTP를 통해 통신한다. HTTP는 인터넷상 데이터를 주고받기 위한 프로토콜이며, 프로토콜은 규약이라는 의미를 지닌다. 도로를 다닐 때 교통 규칙을 준수하는 것처럼, 클라이언트 서버도 미리 정해놓은 규칙을 가지고 통신해야 제대로 통신할 수 있다.
▷ 가장 많이 사용하는 웹 서버는 Apache, Nginx, Microsoft, Google 웹서버이다.
▷ Apache 웹 서버는 Apache Software Foundation에서 개발했다. 오픈소스 소프트웨어(Open-source Software)이며, 거의 대부분의 운영체제에서 설치 및 사용을 할 수 있다.
▷ Nginx는 차세대 웹서버로 불리며(07년도 이후부터 가파른 성장세를 보이고 있다) 더 적은 자원으로 더 빠르게 데이터를 서비스하는 것을 목적으로 만들어진 서버다. Apache 웹 서버와 마찬가지로 오픈소스 소프트웨어이다.
* 웹 크롤러(web crawler) : 월드 와이드 웹을 탐색하는 프로그램. 웹 크롤러가 하는 작업을 '웹 크롤링(web crawling)'이라고 한다. HTML 코드에서 원하는 정보가 표시된 HTML 태그를 찾고, 찾은 HTML 태그 안에 기재된 정보를 가져오는 방식으로 데이터를 수집한다. | 웹 스크래핑(웹 크롤링)의 기본원리
1. 네이버, 구글과 같은 검색을 할 수 있는 사이트에서는 검색어를 입력하면 검색어가 포함된 웹 페이지 목록을 보여준다. 네이버와 구글은 검색어가 포함된 웹페이지를 어떻게 알 수 있었을까?
▷ 웹 크롤러를 사용하면 HTML 소스에서 특정 단어가 포함된 데이터를 추출할 수 있다. 네이버나 구글 같은 검색엔진은 웹 크롤러를 통해 검색어에 해당하는 태그 안에 기재된 정보를 가져온다.