1. WAS란?
- WAS (Web Application Server) : 애플리케이션 (프로그램)을 실행시킨 결과를 웹으로 제공
- URL / URI
- URL : 파일 식별자, 파일명 경로를 전부 포함
- URI : 파일 식별자 경로
- 애플리케이션을 실행할 수 있다는 점에서 웹 서버와 차이가 있음
- 웹 서버 : 요청 받은 HTML 파일의 내용 전송 → 브라우저에서 출력
- 웹 애플리케이션 서버 : 요청 받은 앱 컴파일 후 실행 → 결과 전송 → 브라우저에서 출력

2. WS 작동 구조
- A 사용자가 B 서버에게 URL 요청
- 웹은 http 프로토콜을 사용 : http://IP주소:포트번호/폴더명/파일명
- 서버는 요청 받은 URL을 파싱 후 맞는 파일을 File System에서 찾음
- 찾은 파일의 내용을 읽어 사용자에게 전달
- 사용자는 브라우저에서 Rendering을 통해 내용 확인 (브라우저에서 내용 자동 해석)

3. WAS 작동 구조
- A 사용자가 B 서버에게 URL 요청
- http 프로토콜을 사용 : 위와 같은 형식의 URL이 전송됨
- 서버에서는 파싱을 통해 요청한 파일이 html인지, 다른 애플리케이션 파일인지 확인
- HTML 파일일 경우, 웹 서버처럼 HTML 파일 내용을 읽어 사용자에게 전송
- 아닐 경우, 다음의 과정을 걸쳐 사용자에게 내용 전송
- URL 읽기 (필요한 파일 확인)
- 컴파일 & 실행 → 결과 도출
- 결과를 버퍼에 넣어 전송
- 서버가 전송하는 결과는 브라우저에서 읽을 수 있는 형태여야 함
- 사용자는 브라우저에서 Rendering을 통해 내용 확인

Structures of Operations about WAS with Servlet
- 클라이언트 측에서 URL 혹은 a 태그를 통해 GET 메서드 요청
- 이때, 클라이언트 측의 Request에는 Body가 없음 ( Header 값만 존재 )
- WAS에서 Request를 수신하고 파싱 ( 식별자 클래스를 찾음 )
- URL 형태(.html)로 전송했을 경우, HTML 파일을 출력해서 Response
- 필요한 정보들을 HTML + Java 실행 결과 형태로 resp에 담고 전송
- 결과물은 완전한 HTML 파일로 담음
- 이 형태를 서버에서 그림을 그린다 하여 Server-Side Rendering
- 클라이언트 측 브라우저에서 전송 받은 HTML 파일을 Rendering을 통해 출력

Share article