WAS의 Thread와 MultiThread 이해
·
Web
ThreadThread란 프로세스 내부에서 실행되는 작은 작업 단위로 애플리케이션 코드를 하나하나 순차적으로 실행하는 것을 말한다. Java에서 main method를 실행하면 main이라는 이름을 가진 Thread가 실행되며 하나의 Thread는 한번에 하나의 코드 라인만 수행한다. 만약 동시 처리가 필요하다면 Thread를 추가적으로 생성 해야한다. Servlet 객체의 호출클라이언트에서 Request가 전달되면 Thread가 Servlet 객체를 호출한다. 그림에서 Example Servlet을 호출하는 무언가는(그림에서 물음표) Thread이다. Single Thead일 때 단일 요청단일 Thread에 요청이 하나일 때 동작 과정은 다음과 같다.클라이언트 요청 및 TCP/IP 연결Thread 할당..
Servlet
·
Web
ServletServlet은 HTTP 프로토콜 기반 요청 및 응답을 처리하는데 사용된다. JAVA에서 Servlet은 HttpServlet 클래스를 상속받아 구현되며, 웹 애플리케이션 개발의 핵심 기술 중 하나이다. Servlet의 역할서버에서 요청에 대한 동작 과정은 다음과 같다.서버와 TCP/IP 연결HTTP Request Message 필요한 형태로 변환하여 읽기HTTP Method 및 URL 분석HTTP Header 분석HTTP Message Body 읽기 및 변환분석한 결과를 통해 프로세스 실행비지니스 로직 실행HTTP Response Message 생성HTTP Start Line 생성Header 생성HTTP Message Body에 응답 데이터를 요청한 형식에 맞춰 응답처리가 불가하다면 예외처..
Web Server와 WAS
·
Web
Web Server웹 서버는 HTTP 기반으로 동작하며 정적 리소스(HTML, CSS, JS, 이미지 등)를 제공한다. Web Server 구조클라이언트의 HTTP 요청에 대해서 서버에 있는 정적 리소스를 HTTP 응답한다. 대표적인 Web Server 대표적인 웹 서버로 Nginx와 Apache가 있다. WAS(Web Application Server)WAS는 HTTP 기반으로 동작하며 웹 서버의 기능을 포함한다. 추가적으로 코드를 실행해서 Application 로직을 수행하고 DB와 상호작용하여 동적 컨텐츠를 생성한다. WAS의 구조 WAS도 정적 리소스를 포함할 수 있다. 대표적인 Web Application ServerTomcat, 스프링 부트에 내장되어 있다. Web Server와 WAS(Web..