작성한 부스트코스 후기입니다.
여러분들의 성원에 더 노력하는 부스트코스가 되겠습니다.
감사합니다.
******************************************
웹 서버란?
보통 서버 기능을 제공하는 소프트웨어를 말하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 말할 수도 있다.
웹 벡엔드가 웹 서버 라고 할 수 있는데, 이전 포스팅에서도 작성했다시피,
웹서버의 가장 중요한 기능은 "응답" 이다.
( 이전 포스팅 : https://blog.naver.com/jinn_o/221787625415 )
웹 사용자(웹 브라우저 혹은 클라이언트를 의미한다.)가 필요한 리소스(이미지 동영상 혹은 링크연결 등등)를 요청하면 웹 서버는 해당 요청에 대한 응답을 해야한다. 그 응답으로, 사용자가 요청하는 HTML 문서나 각종 리소스(자원)를 전달해야한다. 이것이 바로 웹 서버의 가장 주된 임무이다.
웹 브라우저(웹 사용자)가 요청하는 리소스는 정적인 데이터일 수도 있고 동적인 데이터일 수도 있다.
이전 포스팅 중에서 이와 관련한 내용을 포스팅한 글이 있다.
정적인 데이터를 전달한다는 것은, "이미 저장"되어 있는 리소스들을 전달하는 것이고,
동적인 데이터를 전달한다는 것은, "웹 서버에 의해 실행"되는 프로그램을 통해 만들어진 결과물의 전달이다.
그렇다면, 웹 서버와 클라이언트는 어떻게 통신할까?
웹 서버와 클라이언트는 보통 HTTP 로 통신한다.
우리가 웹에 접속할 때, 웹 주소가 http:// 형식으로 시작되는 이유는 http를 이용하기 때문이다.
http가 무엇일까? http 는 HyperText Transfer Protocol 의 약자이다.
여기서 프로토콜이란, 규칙을 의미한다.
우리가 대화를 할 때도 문법을 지켜서 이야기를 해야 문맥이 전달이 되듯이,
웹에서 클라이언트(사용자)와 서버가 소통(통신)을 할 때도 적절한 통신이 반드시 필요하다!!
그러한 규칙들을 프로토콜이라고 부르고, 웹에서는 HTTP 를 적용한다.
이 때, 네이버나 구글과 같이 검색 사이트에서 검색을 할때, 검색어가 포함된 웹 페이지 목록을 보여준다.
이러한 검색 사이트에서는 해당 검색어가 포함된 웹페이지를 어떻게 찾아내는 것일까?
이 때 사용하는 것은, 웹 크롤러 이다.
웹 크롤러는, 쉽게 말해서 다른 웹사이트의 정보를 읽어오는 것이다.
이번 포스팅에서는 대략적인 개념만 알아놓고,
다음에는 웹 크롤링을 하는 법에 대한 포스팅도 하겠다.
자, 그럼 이러한 웹 서버의 종류에는 무엇이 있을까?
Apache, Nginx, Microsoft, Google 등이 있는데,
종류를 설명할 때 가장 중요한 것은 어떤 것이 가장 많이 쓰이고 성능이 좋은가 일 것이다.
역시 단연 부동의 1위는 Apach Software Foundation 에서 개발한 Apach 웹 서버이다.
이 웹 서버는 대부분의 운영체제에서 설치 및 사용이 가능하며, 오픈소스이다.
그 다음으로 눈 여겨 지켜볼 만한 웹 서버는, 차세대 웹 서버로 불리는 Nginx 웹 서버이다.
이 웹서버 또한 오픈소스이며, 특징은 더 적은 자원으로 더 빠르게 데이터를 서비스하는 것이다.
차트를 보면, 초록 줄이 해당되는데, 2007년 이후로 급격하게 상승세를 보이는 것을 알 수 있다.
[출처] [부스트코스] 웹 서버란? 웹 서버의 종류는?|작성자 진오