Web Server

최고은·2023년 6월 3일
0

Web Server

하드웨어적 측면 : 웹서버의 소프트웨어와 웹사이트의 컴포넌트 파일들을 저장하는 컴퓨터(컴포넌트 파일 안에는 html 문서, images, css, js files..) Webserver는 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹서버의 데이터(컴포넌트 파일들)을 주고 받을 수 있도록 한다.

소프트웨어 측면 : web server는 기본적으로 웹 사용자가 어떻게 호스트 파일들에 접근하는지를 관리한다. http url(Web addresses) 과 http(당신의 브라우저가 웹 페이지를 보여주기 위해 사용하는 프로토콜) 의 소프트웨어 일부이다.

가장 기본적인 단계에서, 브라우저가 웹 서버에 불려진 파일을 필요로할때, 브라우저는 HTTP를 통해 파일을 요청한다. 요청이 올바른 웹서버(하드웨어적)에 도달하였을때, HTTP서버는 요청된 문서를 HTTP를 이용해 보내분다.

웹사이트를 공개하기 위해서는, 정적/동적 웹 서버가 필요하다.

동적 웹 서버

정적 웹 서버와 추가적인 소프트웨어(대부분 일반적인 애플리케이션 서버와 데이터베이스)로 구성되어 있다. 애플리케이션 서버가 http 서버를 통해 당신의 브라우저에게 불려진 파일들을 전송하기 전에, 애플리케이션 서버가 업데이트 하기 때문에, 이것을 동적이라고 부른다.

정적 웹 서버

정적 웹 서버 혹은 스택은 HTTP 서버(소프트웨어)가 있는 컴퓨터(하드웨어)로 구성되어 있다. 서버가 그 불려진 파일을 브라우저에게 전송하기 때문에, 그것을 “정적”이라고 부른다.

웹페이지를 가져오기 위해, 브라우저는 저장공간에 있는 요청된 파일들을 찾는 웹 서버에게 요청을 보낸다.

Hosting files

웹서버는 처음에 HTML 문서라고 불리는 웹 사이트의 파일들과 이미지, cssㅡ 등 과 관련된 것들을 저장해야한다.

그것들을 컴퓨터에서 불러올 수 있지만, 그것들을 전담하는 웹서버에 저장하는 것이 훨씬 편리하다.

HTTP를 이용해 통신하기

웹서버는 HTTP 를 위한 지원이다. 이름이 의미하듯이, HTTP는 어떻게 두 컴퓨터간에 연결된 웹 문서를 전송하는지를 서술한다. 프로토콜은 두 컴퓨터간의 통신을 위한 규칙의 집합이다. http는 문자로 된, 독립적인 프로토콜이다.

http는 어떻게 클라이언트와 서버가 통신을 하는지 명확한 규칙을 제공한다.

  • 오직 클라이언트만이 http 요청을 만들 수 있으며, 서버에게만 보낼 수 있다.
  • 서버는 오직 클라이언트의 http 요청에 응답할 수 있다.
  • http를 통해 파일을 요청할때, 클라이언트는 반드시 url파일들을 제공해야 한다.
  • 웹서버는 반드시 최소한의 에러메세지를 포함하여 만든 http 요청에 응답해야한다.

웹서버에서, http 서버는 들어오는 요청들에 대해 응답하고, 처리해야 한다

  • 요청을 받으면 http 서버는 먼저 요청받은 url이 존재하는 파일과 매칭 되는지를 확인한다
  • 매칭된다면, 웹 서버는 그 파일 내용을 브라우저에게 돌려준다. 그렇지 않다면, 애플리케이션 서버는 필요한 파일을 구축한다.
  • 만약 위의 두 과정이 불가능하다면, 웹 서버는 브라우저에게 에러메세지를 반환한다. 대부분의 에러메세지는 404에러메세지!

정적 vs 동적 컨텐츠

서버는 정적 혹은 종적 콘텐츠를 모두 제공할 수 있다. 정적은 있는 그대로 제공되는 것을 의미한다.

동적은 서버가 컨텐츠를 처리하는것, 심지어는 컨텐츠를 데이터 베이스로부터 생성하는 것을 의미한다.

profile
5년차 프론트엔드 개발자 최고은 입니다!

0개의 댓글