BackEnd/HTTP
[ HTTP / 네트워크 ] HTTP / 웹서버 / 웹 어플리케이션 서버
jimin-log
2023. 3. 20. 14:50
HTTP
모든 형태의 데이터를 HTTP기반으로 주고 받는다.
- HTML,TEXT,IMAGE,음성,영상,파일
- JSON,XML (API)
- 서버간에 데이터를 주고 받을때도 사용된다.
웹 서버 ( Web Server )
- HTTP 기반으로 동작
- 정적 리소스 제공, 기타 부가기능
- 정적파일(HTML,CSS,JS,이미지,영상)
EX ) NGINX,APACHE
웹 어플리케이션 서버 (WAS : Web Application Server)
사용자에 따라 다른화면을 보여줄 수 있다. (동적)
- HTTP 기반으로 동작
- 웹 서버 기능 포함 + 정적 리소스 제공 가능
- 프로그램 코드를 실행해서 애플리케이션 로직 수행
- 동적 HTML, HTTP APL(JSON)
- 서블릿, JSP, 스프링 MVC
- WAS는 애플리케이션 코드를 실행하는데 더 특화되어있다.
EX ) 톰켓 JETTY , UNDERTOW
웹 시스템의 구성
💡WAS / DB 구성 - 문제점
너무 많은 역할을 담당하여 서버 과부하가 우려된다.
애플리케이션 로직이 정적 리소스 때문에 수행이 어려울 수 있음.
WAS 장애시 오류 화면도 노출이 불가능하게 된다.
💡WEB / WAS / DB 구성
클라이언트 > Web Server > WAS > DB
- 정적 리소스는 웹서버가 처리, WAS는 중요한 애플리케이션 로직 처리만 전담하게 된다.
- 효율적인 리소스 관리가 가능하다.
정적 리소스를 많이 사용하면 Web 서버를 증설하고 애플리케이션 리소스가 많이 사용되면 WAS 서버를 증설하면된다.
- 정적 리소스만 제공하는 웹서버는 잘 죽지 않는다.
WAS,DB장애시 WEB 서버가 오류화면을 제공할 수 있다.