사진 출처 : https://namu.wiki/w/Spring(%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC)
웹 사이트에서 일어나는 일은 요청과 응답이 엄청나게 발생한다. 웹 사이트를 만들기 위해서는 요청을 보내는 기능, 이 요청을 받아 반응하는 기능인 응답이 있어야 한다.
클라이언트는 요청을 생성하고 서버로 발신한다. 또 응답을 받아 html 랜더링을 한다. 랜더링이란 HTML를 해석해서 사용자 눈에 보여주는 것이다.
서버는 요청을 받아 내용을 분석 및 처리하고 응답에 HTML을 실어 클라이언트에게 보낸다. 즉, 요청을 처리하여 결과인 HTML를 생성한다. 멀티 쓰레드를 이용하여 여러 사용자가 접속해도 문제가 없어야 한다. 즉, 동시에 여러 클라이언트의 요청을 처리할 수 있어야 한다.