본문 바로가기
Progamming/BoostCourse

웹 서버

by 동그란 혜주 2019. 1. 15.
  • 들어가기 전에

웹 브라우저를 실행한 후 주소 입력창에 URL 주소를 입력하면, 그 URL 주소에 해당하는 결과물이 화면에 보인다. 우리가 현실에서 주소를 보고 집을 찾아가는 것 처럼, 웹 브라우저는 URL 주소에 해당하는 웹서버(Web Server)에 연결하고, 해당 주소에서 볼 수 있는 내용을 읽어들여 보여주게 된다. 웹 브라우저의 요청을 받아 HTML 문서나 오브젝트를 반환하는 웹 서버에 대하여 알아보도록 하자.





  • 학습 목표

1. 웹 서버의 기능에 대하여 알아보자.

2. 웹 서버의 종류에 대하여 알아보자.





  • 핵심 개념

- Apache

- Nginx

- HTTP

- 클라이언트(Client)

- 서버(Server)




  • 웹 서버란?

- 웹 서버는 소프트웨어(software)를 보통 말하지만, 웹 서버 소프트웨어가 동작하는 컴퓨터를 말한다.

- 웹 서버의 가장 중요한 기능은 클라이언트(Client)가 요청하는 HTML 문서나 각종 리소스(Resource)를 전달하는 것이다.

· 클라이언트 : 보통 웹 브라우저를 말함

- 웹 브라우저나 웹 크롤러가 요청하는 리소스는 컴퓨터에 저장되어 있는 정적(static)인 데이터거나 동적인 결과가 될 수 있다.

· 웹 브라우저나 웹 크롤러 모두 웹 서버에게 HTTP에 맞도록 리소스를 요청하는데 만약 리소스가 존재하지 않거나 요청한 리소스를 전송할 때 문제가 발생된다면 에러 메세지를 전송한다.

· 정적인 데이터 : 보통 이미지, HTML 파일, CSS 파일, JavaScript 파일과 같이 컴퓨터에 저장되어 있는 파일

· 동적인 결과 : 웹 서버에 의해 실행되는 프로그램을 통해 만들어진 결과물

· 웹 크롤러 : 네이버나 구글같은 검색사이트에서 다른 웹사이트 정보를 읽어갈 때 사용하는 소프트웨어




  • 웹 브라우저와 웹 서버

- 클라이언트와 웹 서버 간에는 보통 HTTP를 통해 통신한다. URL 주소가 HTTP로 시작되는 이유는 HTTP를 사용한다는 것을 의미한다.

· HTTP(Hypertext Transfer Protocol) : 인터넷상의 데이터를 주고받기 위한 프로토콜(규약)

· 클라이언트와 서버도 미리 정해놓은 규칙을 가지고 통신을 해야만 제대로 통신이 가능하다.

- 웹 브라우저와 서버 간에 어떤 통신이 이루어지는 것일까?

· 웹 브라우저는 www.naver.com 이라는 웹 서버에 접속하며 해당 주소에서 기본적으로 보이는 HTML 문서를 요청한다.

· 웹 서버는 사용자가 요청한 HTML 문서를 웹 브라우저에게 전달한다.

· 웹 브라우저는 웹 서버로부터 전송받은 HTML 문서를 읽어들인 후에 해석한다. HTML 문서를 알맞게 보여주기 위해 필요한 이미지, CSS, JavaScript와 같은 리소스들에 대해 URL을 추출해내고, 웹 서버에 동시에 여러 개의 리소스를 요청하게 된다.

· 웹 서버는 동시에 요청받은 여러 개의 요청을 받아들여 그 결과를 브라우저에게 전송한다.

· 웹 브라우저는 아까 해석했던 HTML 문서와 읽어들인 여러 개의 응답을 하나로 합치는 렌더링 과정을 통해 그 결과를 화면에 보이게한다.




  • 웹 서버 소프트웨어의 종류

- 가장 많이 사용하는 웹 서버는 Apache, Ngnix, Microsoft, Google 웹 서버

- Apache 웹 서버는 Apache Software Foundation에서 개발한 웹서버로 오픈소스 소프트웨어(Open-source Software)이며, 거의 대부분의 운영체제에서 설치 및 사용이 가능하다.

- Nginx는 차세대 웹서버로 불리며 보통 더 적은 자원으로 더 빠르게 데이터를 서비스 하는 것을 목적으로 만들어진 서버이며, Apache 웹 서버와 마찬가지로 오픈소스 소프트웨어이다.




  • 생각해보기

Q1. 네이버, 구글과 같은 검색을 할 수 있는 사이트에서는 검색어를 입력하면 검색어가 포함된 웹 페이지 목록을 보여준다. 네이버와 구글은 검색어가 포함된 웹페이지를 어떻게 알 수 있었을까?

A1. 검색버튼을 클릭하여 서버와 통신하는 과정에서 검색어를 서버로 전송하고 웹 크롤러를 통해 다양한 바운더리에서 해당 문자열이 포함된 글을 클라이언트에 전송하기 때문..에?

'Progamming > BoostCourse' 카테고리의 다른 글

HTML Tags  (0) 2019.01.16
WAS  (0) 2019.01.15
browser에서의 웹 개발  (0) 2019.01.15
browser의 동작  (0) 2019.01.15
웹 Front-End와 웹 Back-End  (0) 2019.01.14

댓글