WEB 구성 요소 -


- 상대경로에서 절대 경로로의 변환
- 상대경로를 많이 사용
- 시작점을 고정시키고 사용

HTTP 메시지 포맷 : Header(Request+General+Representation) + Body 로 구성





- 좀 더 자세한 아키텍쳐
- Load Balancer로 분산하고 수평적 확산 Scale Out
- Caching Service : 빈번하게 읽어오는 DB를 저장
- Job Queue : 바로 응답을 줄 수 없는 일을 할떄 (다운로드) : 비동기 방식으로 알려줌
- 검색 사이트에서 사용
- 하나의 웹 서버가 여러개의 Service로 나누어짐 (Voucher, Customer) 등등으로 나눠서 보낼 수 있음 → 마이크로 서비스
- Kafka 대용량의 메시지
- 특정 이미지
- CDN : 고객에게 가장 가까운 서버 (일종의 캐시)

웹 서버와 WAS
- WEB : 정적인 웹 서버 제공
- WAS : 동적인 서버 제공 (DB조회, 비즈니스 로직 처리) + 정적 포함
- WAS : 별도의 서버로 구현 (Tomcat, Jetty) 물리적인 서버에 설치 .war로 빌드

- 서블릿 (Controller)
- 서블릿(servlet)은 서버에서 웹페이지 등을 동적으로 생성하거나 데이터 처리를 수행하기 위해 자바로 작성된 프로그램
- 클라이언트 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 servlet 클래스의 구현 규칙을 지킨 자바프로그램
- HTTP 요청을 받아서 처리

- 서블릿이 동작하려면 Web Container가 필요
- 응답으로 HTML 메시지 뿐만 아니라 JSP (View)페이지도 전달 가능
- WAS→JSP를 읽어서 HTML페이지를 만들어서 Client에게 응답

MVC
- 기능 분리
- Controller : Model과 View를 연결하기 위한 매개체
- 사용자의 입력/요청을 받아 모델의 상태를 변경해주고 그에 따른 View를 업데이트
- Model : 자바 객체 또는 POJO로 데이터를 담고 있음
- POJO (Plain Old Java Object) : 일반적인 Java Object
- View : 모델이 담고 있는 데이터를 시각적으로 보여주는 역할
