728x90
웹 애플리케이션 서버(Web Application Server, 약자 WAS)
- 웹 애플리케이션과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크
- 인터넷 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어(소프트웨어 엔진)
- 동적 서버 콘텐츠를 수행하는 것으로 일반적인 웹 서버와 구별이 되며, 주로 데이터베이스 서버와 같이 수행이 된다.
- 한국에서는 일반적으로 "WAS" 또는 "WAS S/W"로 통칭하고 있으며 공공기관에서는 "웹 응용 서버"로 사용되고, 영어권에서는 "Application Server" (약자 AS)로 불린다.
- 종류 : 아파치 톰캣(Apache Tomcat), Jetty
[기본 기능]
- 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다.
- 여러 개의 트랜잭션을 관리한다.
- 업무를 처리하는 비즈니스 로직을 수행한다.
Web Server
- 웹 콘텐츠를 저장하거나 처리하는 컴퓨터 또는 소프트웨어
- HTTP 프로토콜을 통해 클라이언트(웹 브라우저)의 요청 정보를 받아 처리하고 그 결과를 다시 클라이언트에 보낸다. 클라이언트가 요청하는 자원(리소스)을 URL(Uniform Resource Locator) 형태로 받아 내부 파일 시스템과 매핑하여 처리하거나, URL과 입력 값(예: 로그인 화면의 아이디, 패스워드 등)을 함께 받으면 사전에 약속된 처리를 한 후 그 결과를 클라이언트에 전달한다.
- 템플릿 태그를 해석 못하는 정적(이미 지나간)인 파일
- 종류 : 아파치(Apache), 엔진엑스(nginx), 마이크로소프트사의 IIS(Internet Information Services)
WSGI(Web Server Gateway Interface)
- 웹서버와 웹어플리케이션이 어떤 방식으로 통신하는 가에 관한 인터페이스
- 웹서버가 받은 호출을 Python 어플리케이션에게 전달하기 응답받기 위한 호출 조약
- WSGI규격에 맞춘 코드를 실행해주는 프로그램 : uWSGI, gunicorn
- 대부분의 파이썬 웹 프레임워크는 WSGI 서버를 제공하며, 애플리케이션 개발자는 WSGI 서버에 대한 API 규격만 맞추면, 웹 서버와 독립적으로 애플리케이션을 작성할 수 있어 생산성이 높아짐
총정리
'두두의 IT > Computer Science' 카테고리의 다른 글
[DB] 데이터 독립성 (0) | 2022.07.02 |
---|---|
[DB] DBMS (0) | 2022.07.02 |
쿠키 vs 세션 vs 토큰 (0) | 2022.06.16 |
그림한장으로 보는 서버 최신 가이드북 (0) | 2022.03.07 |
[개발형 코딩테스트] 서버와 클라이언트 / REST API / JSON (0) | 2021.12.22 |