1-1-6. 웹서버

크리스탈 파워~UP·2021년 2월 28일
0

웹 브라우저는 URL 주소에 해당하는 웹 서버(Web Server)에 연결하고, 해당 주소에서 볼 수 있는 내용을 읽어 들여 보여준다.

웹 서버?

  • 웹 서버는 소프트웨어(Software)를 보통 말하지만, 웹서버 소프트웨어가 동작하는 컴퓨터를 말하기도 한다.
  • 웹 서버의 가장 중요한 기능은 클라이언트(Client)가 요청하는 HTML 문서나 각종 리소스(Resource)를 전달하는 것.
    • 여기서 클라언트란 보통 웹 브라우저.
    • 웹 브라우저나 웹 크롤러 모두 웹 서버에게 HTTP에 맞도록 리소스를 요청하게 되고 웹 서버는 요청한 리소스를 반환한다. 만약 리소스가 존재하지않거나 요청한 리소스를 전송할 때 문제가 발생한다면 에러 메서지를 전송하게 된다.
  • 웹 브라우저나 웹 크롤러가 요청하는 리소스는 컴퓨터에 저장된 정적(static)인 데이터거나 동적인 결과가 될 수 있다.
    • 정적인 데이터 : 이미지, HTML파일, CSS파일, JavaScript파일과 같이 컴퓨터에 저장되어 있는 파일들.
    • 동적인 결과 : 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물.
    • 웹 크롤러 : 네이버나 구글 같은 검색 사이트에서 다른 웹사이트 정보를 읽어 갈때 사용하는 소프트웨어를 이야기 함.
  • 클라이언트와 웹 서버 간에는 보통 HTTP를 통해서 통신을 하게 됨.
  • URL주소가 HTTP로 시작된는 이유는 HTTP(Hyper Text Transfer Protocol:인터넷상의 데이터를 주고받기 위한 규약)를 사용한다는 것.

웹 브라우저와 웹 서버간의 통신 살펴보기

웹 브라우저와 웹 서버간의 통신 보는 법

  1. 웹 브라우저에서 오른쪽 버튼 클릭→ 검사 선택
  2. Network탭 선택 (All메뉴 선택)
  3. 새로고침시 웹브라우저 요청과 그 요청에 따른 서버의 응답을 볼 수 있음

웹 브라우저-웹서버간 동작

  1. 웹 브라우저가 url주로 서버에 접속을 했을 때, 해당 주소에서 기본으로 보이는 HTML문서를 요청
  2. 웹 서버는 사용자가 요청한 HTML문서를 웹 브라우저에 전달함.
  3. 웹브라우저는 웹 서버로 부터 전송받은 HTML문서를 읽어들인 후에 해석을 한다. HTML문서를 알맞게 보여주기 위해서 필요한 이미지,CSS,JavaScript와 같은 이런 리소스들에 대해서 URL을 추출해내고 웹서버에게 동시에 여러개의 리소스를 요청하게 됨.
  4. 웹서버는 동시에 요청한 여러개의 요청을 받아들여서 그 결과를 브라우저에게 전송
  5. 웹브라우저는 아까 해석했던 HTML문서와 그리고 읽어들인 여러개의 응답을 하나로 합쳐서 그 결과를 화면에 보이게 함. 이렇게 하나로 합쳐서 보여주는 작업을 렌더링이라 함.

웹 서버 소프트웨어 종류

  • Apache, Nginx, Microsoft IIS, Google 웹 서버 등...
  • Apache 웹 서버는 Apache Software Foundation에서 개발한 웹 서버로 오픈소스 소프트웨어이며, 거의 대부분 운영체제에서 설치 및 사용을 할 수 있습니다.
  • Nginx는 차세대 웹서버로 불리며 더 적은 자원으로 더 빠르게 데이터를 서비스하는 것을 목적으로 만들어진 서버이며, Apache웹서버와 마찬가지로 오픈소스 소프트웨어입니다.

출처 및 참고자료
https://www.boostcourse.org/web316/

profile
코딩러너! 걷지말고 뛰어라~

0개의 댓글