Spring Day 1 : Server
네트워크
컴퓨터와 장비들이 연결되어 정보를 주고받는 기술입니다. 컴퓨터, 라우터, 스위치, 허브 등의 장비가 역할을 수행하며, IP 주소와 서브넷 마스크를 설정하여 통신합니다. 네트워크 프로토콜은 데이터의 규칙과 규약을 정의하며, TCP/IP가 주로 사용됩니다. 이를 통해 안정적인 데이터 통신이 이루어집니다.
서버를 개발하기 위해 사용자의 요청을 받아 처리하고, 결과를 보여주기까지 전체적인 흐름을 파악하기 위해 네트워크를 잘 알아야 합니다.
Client와 Server

사용자는 브라우저를 통해 서버에 정보를 요청하고 응답을 받습니다. 이때 사용자의 요청은 해당 서버에 정확하게 도달하기 위해 서버의 IP 주소가 필요합니다. IP 주소는 거대한 네트워크망에서 여러분의 컴퓨터를 식별하기 위한 위치 주소로, 네트워크상에서 데이터 송수신은 이 주소를 기준으로 이루어집니다. 브라우저를 통해 사용자의 요청이 서버에 도달하고 응답이 이루어질 수 있도록 IP 주소가 사용됩니다.
Web Server : 클라이언트와 서버 간의 원활한 통신 담당
인터넷을 통해 클라이언트의 요청을 받아들여 HTTP 프로토콜을 이용하여 웹 페이지나 파일 등을 제공하는 역할을 하는 소프트웨어입니다. 클라이언트가 웹 페이지를 요청할 때 해당 페이지를 제공하고 응답을 반환합니다. 웹 서버는 웹 애플리케이션과 함께 사용되어 동적인 웹 콘텐츠를 생성하거나 데이터베이스와 상호작용 하여, 이를 통해 사용자에게 웹 페이지, 이미지, 동영상 등 다양한 리소스를 제공합니다.
즉, 브라우저에서 URL을 입력하여 어떠한 페이지를 요청했을 때 HTTP의 요청을 받아들여 HTML 문서와 같은 정적인 콘텐츠를 사용자에게 전달해 주는 역할
웹 서버의 기본 동작 원리
- 클라이언트(웹 브라우저를 통해)가 웹 서버에 HTTP Request로 웹사이트를 요청합니다. ( 브라우저가 웹서버에 요청을 할 때는 항상 GET method로 요청)
- 이후 웹서버는 요청을 승인하고 HTTP Response를 통해 웹사이트 데이터를 브라우저에 전송합니다.
- 웹 서버는 이 요청을 받아들이고, 요청된 웹 페이지나 파일 등의 데이터를 포함한 HTTP 응답을 생성하여 클라이언트에게 전송합니다.
- 마지막으로, 브라우저는 서버에서 받아온 데이터를 이용하여 웹 페이지를 브라우저에 표시합니다.
WAS (Web Application Server): 웹 애플리케이션을 실행하고 관리하기 위한 서버 소프트웨어
클라이언트의 요청을 받아들여 동적인 웹 콘텐츠를 생성하거나 데이터베이스와 상호작용하여 정보를 제공합니다. WAS는 웹 서버와 함께 사용되며, 웹 애플리케이션의 실행 환경을 제공하고 여러 기능들을 처리하여 웹 애플리케이션의 동작을 지원합니다.
웹 서버는 정적인 웹 페이지를 제공하는 역할을 한다면, WAS는 동적인 웹 애플리케이션을 실행하고 관리합니다. 또한 WAS는 웹 서버와 똑같이 HTTP 기반으로 동작이 됩니다.
예를 들어, HTTP 프로토콜을 통해 클라이언트의 요청을 받아들이고, 웹 애플리케이션을 실행하며, 데이터베이스와의 연결을 관리하고, 보안 기능을 제공하는 등의 역할을 수행합니다.