클라이언트
서버
1. 서버의 종류 - 어떤 서비스를 제공하는지
- Email server: 이메일 서비스 제공
- File server: 파일 제공
- Web server: 웹 제공, 웹 페이지로 응답을 받는것
2. 서버의 포트
- 클라이언트가 ip주소로 요청했을 때 많은 서버 중에 어떤 서버에 요청했는지 알 수 있으려면
- 포트번호(서버에 각각 부여된 번호)와 함께 요청한다
- 웹 서버는 기본 80, 생략할 수 있다
- 서버는 리스닝 상태(요청을 기다리고 있는 상태)이다
- 0 ~ 1023까지 예약된 포트번호, 그 위 ~ 65535까지 사용 가능
3. WAS (웹 애플리케이션 서버)
- 웹 애플리케이션을 서비스하는 서버
- 서버에 프로그램을 설치해 놓고 클라이언트가 호출해서 사용할 수 있다
- 톰캣
- 이전에는 각 클라이언트에 프로그램을 설치하는 방식
업데이트 문제가 있었다
- 서버에 프로그램을 설치하면 서버 하나의 프로그램만 업데이트하면 된다
4. 톰캣의 내부 구조
- 브라우저의 요청을 8080포트(톰캣의 포트로 지정해준 번호)로 받는다
- 스래드 풀이 기다리고 있다가 요청을 받으면 처리를 시작한다
- 서비스가 요청을 처리하는데 요청의 프로토콜에 따라 그 안에 커넥터가 결정된다
- 커넥터가 결정되면 그 커넥터가 엔진에 전달한다
- 엔진 안에 n개의 호스트가 있는데 그 안에 여러 개의 context가 있다
- 그 하나하나는 웹 애플리케이션이다 = 스프링 프로젝트 하나하나
- 그 안에 서블릿(작은 서버 프로그램)이 있다
- 그 중 요청받은 url과 연결된 서블릿이 실행된다
톰캣 설정 파일
server.xml - 톰캣 서버 설정 파일
web.xml
- conf/web.xml : 톰캣의 모든 web app의 공통 설정
- WEB-INF/web/xml : web app의 개별 설정