본문 바로가기

포트폴리오/쉽지만 정리가 안된 용어 정리

웹서버(Web Server)란?

웹서버는 하드웨어(물리적)적인 측면과 소프트웨어적인 측면으로 나눌 수 있습니다.

 

하드웨어적인 측면에서는

 웹 서버 소프트웨어와 웹 사이트의 구성 요소(HTML, 이미지, CSS, Javascript 등) 파일을 저장하는 컴퓨터입니다. 그리고 인터넷에 연결하여 웹에 연결된 다른 장치들과 물리적 데이터 교환을 지원합니다.

 

소프트웨어적인 측면에서는

 웹 서버에는 웹 사용자가 호스팅(웹서버에서 제공하는) 된 파일에 액세스하는 방법을 제어하는 ​​여러 부분이 포함되어 있습니다.

 이것이 바로 HTTP 서버 입니다. HTTP 서버는 URL (웹 주소) 및 HTTP (브라우저가 웹 페이지를 보는 데 사용하는 프로토콜 ) 를 이해하는 소프트웨어입니다 . HTTP 서버는 저장하는 웹 사이트의 도메인 이름을 통해 액세스 할 수 있으며 이러한 호스팅 된 웹 사이트의 콘텐츠를 최종 사용자의 장치로 전달합니다.

 

(HTTP : 일반적으로 사람이 읽을 수 있도록 브라우저와 서버간에  에서 하이퍼 미디어 문서를 전송할 수 있도록 하는 기본 네트워크 프로토콜 입니다.)

 

사용자는 가장 기본적인 수준에서 브라우저가 웹 서버에서 호스팅되는 파일이 필요할 때마다 브라우저(Chrome, IE 등)는 HTTP를 통해 파일을 요청합니다. 요청이 올바른 (하드웨어) 웹 서버에 도달하면 (소프트웨어) HTTP 서버 가 요청을 수락하고 요청 된 문서를 찾은 다음 HTTP를 통해 브라우저로 다시 보냅니다. (서버가 요청 된 문서를 찾지 못하면 대신 404 응답을 반환합니다 .)

 

웹 사이트를 게시하려면 정적 또는 동적 웹 서버가 필요합니다.

 

정적 웹 서버 , 또는 스택, HTTP 서버 (소프트웨어)와 컴퓨터 (하드웨어)로 구성되어 있습니다. 서버가 호스팅 된 파일(서버에 저장되어있는 파일)을 있는 그대로 브라우저에 보내기 때문에 이를 "정적"이라고합니다.

 

동적 웹 서버는 정적 웹 서버 플러스 추가 소프트웨어, 가장 흔히 구성 응용 프로그램 서버  데이터베이스 . HTTP 서버를 통해 콘텐츠를 브라우저로 보내기 전에 애플리케이션 서버가 호스팅 된 파일을 업데이트하기 때문에이를 "동적"이라고합니다.

 

예를 들어 브라우저에 표시되는 최종 웹 페이지를 생성하기 위해 애플리케이션 서버는 데이터베이스의 콘텐츠로 HTML 템플릿을 채울 수 있습니다. MDN 또는 Wikipedia와 같은 사이트에는 수천 개의 웹 페이지가 있습니다. 일반적으로 이러한 종류의 사이트는 수천 개의 정적 HTML 문서가 아니라 몇 개의 HTML 템플릿과 거대한 데이터베이스로 구성됩니다. 이 설정을 통해 콘텐츠를보다 쉽게 ​​유지하고 전달할 수 있습니다.

 

호스팅 파일

첫째, 웹 서버는 웹 사이트의 파일(모든 HTML 문서와 이미지, CSS 스타일 시트, JavaScript 파일, 글꼴 및 비디오를 포함한 관련 자산)을 저장해야합니다.

기술적으로는 이러한 모든 파일을 자신의 컴퓨터에 호스팅 할 수 있지만 다음과 같은 이유로 전용 웹 서버에 파일을 모두 저장하는 것이 훨씬 더 편리합니다.

  • 일반적으로 전용 웹 서버를 사용할 수 있습니다. (실행 중)
  • 다운 타임과 시스템 문제를 제외하고 전용 웹 서버는 항상 인터넷에 연결됩니다.
  • 전용 웹 서버는 항상 동일한 IP 주소를 가질 수 있습니다. 이를 전용 IP 주소라고 합니다. (모든 ISP 가 홈 라인에 고정 IP 주소를 제공하는 것은 아닙니다 )
  • 전용 웹 서버는 일반적으로 타사에서 유지 관리합니다.

이러한 모든 이유로 좋은 호스팅 제공 업체를 찾는 것이 웹 사이트 구축의 핵심입니다. 회사가 제공하는 다양한 서비스를 살펴보십시오. 귀하의 필요와 예산에 맞는 것을 선택하십시오. (서비스는 무료에서 매달 수천 달러까지 다양합니다.)

웹 호스팅 서비스를 받으면 웹 서버에 파일을 업로드 해야 합니다.

 

HTTP를 통해 통신

둘째, 웹 서버에 대한 지원을 제공하는 HTTP를 ( Hyper Text Transfer Protocol). 이름에서 알 수 있듯이 HTTP는 두 컴퓨터간에 하이퍼 텍스트 (링크 된 웹 문서)를 전송하는 방법을 지정합니다.

프로토콜은 두 컴퓨터 사이의 통신에 대한 규칙의 집합입니다. HTTP는 텍스트의 상태 비 저장 프로토콜입니다.

텍스트 모든 명령은 일반 텍스트이며 사람이 읽을 수 있습니다. 무국적서버와 클라이언트 모두 이전 통신을 기억하지 않습니다. 예를 들어, HTTP에만 의존하면 서버는 사용자가 입력 한 암호를 기억하지 못하거나 불완전한 트랜잭션에 대한 진행 상황을 기억할 수 없습니다. 이와 같은 작업을 위해서는 애플리케이션 서버가 필요합니다. (다른 기사에서 이러한 종류의 기술을 다룰 것입니다.)

HTTP는 클라이언트와 서버가 통신하는 방법에 대한 명확한 규칙을 제공합니다. 나중에 기술 기사 에서 HTTP 자체를 다룰 것입니다. 지금은 다음 사항에 유의하십시오.

  • 클라이언트  HTTP 요청을 한 다음 서버에 대해서만 할 수 있습니다 . 서버에서만 할 수 있습니다 응답 A와 클라이언트 의 HTTP 요청.
  • HTTP를 통해 파일을 요청할 때 클라이언트는 파일의 URL을 제공해야합니다.
  • 웹 서버  최소한 오류 메시지와 함께 모든 HTTP 요청에 응답해야합니다.

웹 서버에서 HTTP 서버는 수신 요청을 처리하고 응답합니다.

  1. 요청을 받으면 HTTP 서버는 먼저 요청 된 URL이 기존 파일과 일치하는지 확인합니다.
  2. 그렇다면 웹 서버는 파일 콘텐츠를 다시 브라우저로 보냅니다. 그렇지 않은 경우 애플리케이션 서버가 필요한 파일을 빌드합니다.
  3. 두 프로세스 모두 불가능한 경우 웹 서버는 브라우저에 오류 메시지를 반환합니다 . 404 오류는 너무 일반적이어서 일부 웹 디자이너는 404 오류 페이지 를 디자인하는 데 상당한 시간과 노력을 기울 입니다.)

정적 및 동적 콘텐츠

대략적으로 말하면 서버는 정적 또는 동적 콘텐츠를 제공 할 수 있습니다. 정적 이라는 용어 는 "있는 그대로 제공됨"을 의미합니다. 정적 웹 사이트는 설정하기가 가장 쉬우므로 첫 번째 사이트를 정적 사이트로 만드는 것이 좋습니다.

동적 이라는 용어 는 서버가 콘텐츠를 처리하거나 데이터베이스에서 즉석에서 생성하는 것을 의미합니다. 이 접근 방식은 더 많은 유연성을 제공하지만 기술 스택이 더 복잡하여 웹 사이트 구축이 훨씬 더 어려워집니다.

예를 들어, 지금 읽고있는 페이지를 생각해보십시오. 그것을 호스팅하는 웹 서버에는 데이터베이스에서 기사 콘텐츠를 가져 와서 형식을 지정하고 일부 HTML 템플릿에 넣고 결과를 보내는 애플리케이션 서버가 있습니다. 이 경우 애플리케이션 서버를 Kuma 라고 합니다. Kuma는 프로그래밍 언어 Python ( Django 프레임 워크 사용 )으로 빌드됩니다 . Mozilla 팀은 MDN의 특정 요구를 위해 Kuma를 구축했지만 다른 많은 기술을 기반으로 구축 된 유사한 응용 프로그램이 많이 있습니다.

애플리케이션 서버가 너무 많아서 특정 서버를 제안하기 어렵습니다. 일부 애플리케이션 서버는 블로그, 위키 또는 전자 상거래와 같은 특정 웹 사이트 범주를 제공합니다. CMS (콘텐츠 관리 시스템) 라고하는 다른 것들은 더 일반적입니다. 동적 웹 사이트를 구축하는 경우 시간을내어 필요에 맞는 기술을 선택하십시오. 웹 서버 프로그래밍 (그 자체로 흥미로운 영역입니다!)을 배우고 싶지 않다면 자신 만의 애플리케이션 서버를 만들 필요가 없습니다. 그것은 단지 바퀴를 재창조하는 것 입니다.

 

출처 : developer.mozilla.org/en-US/docs/Learn/Common_questions/What_is_a_web_server

 

What is a web server? - Learn web development | MDN

The term web server can refer to hardware or software, or both of them working together. On the hardware side, a web server is a computer that stores web server software and a website's component files. (for example, HTML documents, images, CSS stylesheets

developer.mozilla.org

 

728x90
반응형