웹 서비스란
네트워크 상에서 서로 다른 종류의 컴퓨터들 간에 상호작용을 하기 위한 소프트웨어 시스템
클라이언트 와 웹서버의 통신을 살펴보겠다.
클라이언트와 웹 서버는 HTTP 프로토콜을 통해서 통신한다.
HTTP 프로토콜은 서로 통신하기 위한 규약이다.
클라이언트는 요청에 맞게 무엇을 어떻게 등을 표현하는 Method, URL 등을 보내며,
웹 서버는 응답에 맞게 요청이 적절했는지, 어떤형식의 데이터를 보내는지 등에 맞는 Status, Content-Type 등을 보낸다.
웹 서버의 단점은 정적 데이터만 보낼 수 있다는 것이다.
그래서 웹 컨테이너 가 생겼다.
Web Application Server, 즉 WAS 는 웹 서버와 웹 컨테이너를 포함한 용어다.
정적 데이터만 응답 할 수 있다는 단점을 Web Container 를 통해 해결했다.
Web Container 는 Servlet 이라는 기술을 통해 동적 데이터를 생성한다.
다음은 Web Container 와 Database 사이의 통신이다.
Web Container 는 DB Connection 을 만들어 DB 에 SQL 문을 보낸다.
JDBC, ODBC 등이 있다.
위와 같이 Client - WAS - DB 형식이 아닌
아래의 Client - Web Server - WAS - DB 형태도 많이 사용한다고 한다.
WAS 가 Web Server 의 일도 할 수 있지만 따로 쓰는 이유가 있다.
앞의 Web Server 를 둠으로써
로드 밸런싱, WAS 의 보안, 다른 형태의 WAS 사용, 세션 관리 등 여러가지 효과를 누릴 수 있다.
'학습 > 이해하고 쓰는 작동원리' 카테고리의 다른 글
가비지 컬렉션 작동 원리 (0) | 2021.08.02 |
---|---|
JVM 작동원리 (0) | 2021.07.13 |