참고 지식 - 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편 - 백엔드 웹 개발 핵심 기술

+ Recent posts