참고 지식 - HTTP

클라이언트에서 서버로 데이터를 요청할 때, 서버에서 클라이언트로 응답을 할 때 웹의 모든 동작은 HTTP를 통해서 이루어진다.
HTTP를 통해서 전송되는 것들은 다음과 같다.
- HTML, TEXT, IMAGE, 영상, 파일
- JSON, XML
- 서버통신간 데이터
HTTP를 통하여 다수의 데이터 형태를 전송이 가능하다.
웹 서버 (Web Server)

HTTP 기반으로 동작을 하며, 클라이언트에게 정적인 리소스들을 제공한다. (HTML, JS 등)
대표적으로 NGINX 와 APACHE 등이 있다.
웹 애플리케이션 서버 (WAS - Web Applicatoin Server)

웹 서버와 같이 HTTP로 동작을 하며, 동적인 리소스를 제공한다.
프로그램이 동작하는 곳이 바로 이 웹 애플리케이션 서버이다. (JSP, 스프링 MVC등)
데이터를 바인딩하여 동적 HTML을 전달하거나, API를 통해 JSON 등의 데이터를 전달하기도 한다.
대표적으로 톰캣, Jetty 등이 있다.
기본적인 웹 시스템 구성

WAS는 사실 WEB의 역할도 수행할 수 있다. 하지만 WEB 의 역할까지 수행하기에는 WAS가 받는 부담이 너무 커질 수 있기에 WEB서버를 따로 두어 정적인 리소스 처리를 전담하게 하여, WAS는 애플리케이션의 로직만을 전담할 수 있도록 하는게 보통의 시스템 구성이다.
또한 WEB, WAS를 나누어 놓으면 스케일업 또는 스케일아웃을 사용하기에도 적합하다.
출처 : 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
'Backend > Spring MVC' 카테고리의 다른 글
[Spring MVC] HTTP 요청데이터 - GET 쿼리 파라미터 (0) | 2023.03.01 |
---|---|
[Spring MVC] HttpServletRequest 와 HttpServletResponse(Servlet 기반) (0) | 2023.02.28 |
[Spring MVC] Servlet 을 이용하는 프로젝트 생성 (Servlet 기반) (0) | 2023.02.24 |
[Spring MVC] CSR, SSR (0) | 2023.02.23 |
[Spring MVC] 멀티 쓰레드 (Multi-Thread) (0) | 2023.02.22 |