Web Server

zihooy·2023년 5월 19일
1

Web Development

목록 보기
1/8
post-thumbnail

웹을 구현하기 전에 웹 서버에 대해 알아보자.

🏹 웹 서버

웹 서버는 클라이언트-서버 모델을 기본 모델으로 사용하여, 클라이언트와 서버 간의 통신을 기반으로 동작한다.
클라이언트는 웹 브라우저를 통해 서버에 요청을 보내고, 서버는 해당 요청을 처리하여 응답을 반환한다.

🏹 웹 서버의 역할

기본적인 서버의 역할과 비슷하게, accept, read/write를 활용한다.

  • 요청 처리
    클라이언트로부터 요청을 받아 해당 요청에 대한 처리를 수행한다.
    예를 들어, 특정 URL에 대한 요청을 받으면 해당 페이지를 반환하거나, 데이터를 조회하여 응답을 생성한다.
  • 세션 관리
    클라이언트와의 상태를 유지하기 위해 세션을 관리한다. 세션은 클라이언트와 서버 간의 연결을 유지하고 클라이언트의 상태를 저장하는 데 사용된다.

🏹 웹 서버의 종류

대표적인 웹 서버 소프트웨어로는 Apache HTTP Server, Nginx 등이 있다.
그런데 Apache 서버는 정적 페이지로, 실시간으로 소통할 수 없다는 단점이 있다. 이를 해결하기 위해 보통 Tomcat을 사용한다.

🏹 Apache와 Tomcat

Apache는 주로 정적인 웹 콘텐츠를 처리하고, 필요에 따라 Tomcat과 같은 웹 애플리케이션 서버로 동적인 처리를 위임한다. Tomcat은 Java 웹 애플리케이션을 실행하기 위한 서버로, 자체적으로 웹 서버 기능을 제공한다.

🏹 WAS

WAS는 "Web Application Server"의 약어로, 웹 애플리케이션을 실행하기 위한 서버 환경을 제공하는 소프트웨어이다. WAS는 독립적으로 실행되며, 웹 애플리케이션의 구성 요소들을 관리하고 처리한다. 대표적인 WAS로는 Apache Tomcat, Oracle WebLogic Server, IBM WebSphere Application Server, JBoss 등이 있다.

실행 결과를 저장하기 위해서는 File 또는 DB에 저장해야 하고, 보통 MySql이나 MongoDB를 활용한다.

🏹 웹 어플리케이션 개발 방식

1) MPA(다중 페이지 어플리케이션)

MPA는 Multi-Page Application)의 약어로, 여러 개의 페이지로 구성된 전통적인 웹 애플리케이션을 의미한다.
MPA는 여러 개의 페이지로 구성되어 각 페이지마다 콘텐츠를 서버로부터 로드하며, 사용자가 페이지 간에 이동할 때마다 서버에 새로운 요청을 보낸다.

2) SPA(단일 페이지 어플리케이션)

SPA는 Single-Page Application의 약어로, 단일 페이지 애플리케이션을 의미한다.
단일 페이지 요청은 필요한 데이터를 동적으로 가져오거나 부분적인 업데이트를 수행할 때 유용하다.
SPA는 React, Angular, Vue.js 등의 프레임워크와 함께 사용되는 경우가 많다.

profile
thisIsZihooLog

0개의 댓글