Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 마크다운
- DDL
- java
- 웹개발 기초
- 필기
- oracle
- DB
- DB 개요
- 쿠버네티스
- view
- 깃허브
- ORACLE 기초
- 기초 선택자
- java 기초
- DB 모델링
- 도커
- 기본 API
- SQL
- github
- Flutter
- docker
- 쿠버네티스 기본 개념
- 프로그래밍 기초
- docker 소개
- 데이터베이스
- dql
- mybatis
- 정보처리기사
- MVC 패턴
- VS Code
Archives
- Today
- Total
핑구
00. Servlet/JSP 개요 본문
📅 2021.10.26
네트워크 통신 개요
- Server-client Model: 서버는 특정한 서비스를 제공하는 컴퓨터를, 클라이언트는 이러한 서비스를 제공하는 사용자를 말한다. 클라이언트는 서버에게 요청(Request)하고, 서버는 클라이언트에게 응답(Response)한다.
- Server의 종류
- Web Server: 웹 브라우저와 HTTP 프로토콜을 사용하여 사용자의 요구에 따른 특정 서비스를 제공하는 서버이다.
- Mail Server: 인터넷을 통해 사용자 간의 전자 우편을 주고 받는 서비스를 제공하는 서버이다.
- FTP Server: 서버 내에 파일을 업로드, 다운로드 할 수 있도록 파일 관리 기능을 제공하는 서버이다.
- Telent Server: Terminal, 텍스트로만 이루어진 창에서 특정 명령어를 통해 원격지 서버를 접속, 관리한다.
- Database Server: Data를 저장하고, 원격지에서 접속할 경우 권한에 따라 해당 데이터를 열람, 추가, 수정, 삭제 기능 처리를 한다.
웹 통신 개요
- 웹 통신 구조
- Web Server: 사용자에게 HTML 페이지나 jpg, png 같은 이미지를 HTTP 프로토콜을 통해 웹 브라우저에 제공하는 서버로 내부의 내용이 이미 만들어져 있는 정적인 요소들을 화면에 보여 주는 역할을 한다.
- 웹 서버의 종류
- Apache: Apache Software Foundation에서 만든 서버로 HTTP 통신에 대한 여러 라이브러리를 제공한다.
- Windows IIS: Window OS에서 제공하는 웹 서버로 높은 수준의 보안성과 성능을 제공한다.
- NGINX: 무료 오픈 소스 서버로 사용자 요청을 스레드가 아닌 확장성이 있는 이벤트 기반 설계로 리솟만 할당해 사용한다.
- 웹 서버의 종류
- WAS: Web Application Server의 약자로 사용자가 요청한 서비스의 결과를 스크립트 언어 등으로 가공하여 생성한 동적인 페이지를 사용자에게 보여주는 역할을 한다.
- WAS의 종류
- tomcat: Apache Software Foundation에서 Servlet과 JSP를 통한 동적인 웹 문서를 처리하기 위해 만든 웹 애플리케이션 서버이다.
- wildfly: Jboss라고도 불리며 톰캑이 제공하는 Servlet Container뿐만 아니라 EJB Container를 별도로 제공하여 폭 넓은 서비스를 구현한다.
- jeus: 국산 WAS로 대용량 데이터 트랜잭션을 고성능으로 처리하며 개발 및 운영에 관한 기술 지원이 뛰어나다.
- WAS의 종류
- 서블릿 컨테이너(Servlet-Container): 서블릿의 생명 주기를 관리(생성, 초기화, 소멸)한다. HttpServletRequest/HttpServletResponse 객체를 생성하고, 요청에 따라 멀티 스레딩을 구성한다. 전송 방식에 따라 동적으로 페이지를 구성하는 작업을 진행한다. 정적 로딩 처리를 진행한다.
- JSP 컨테이너(JSP-Container): JSP 파일을 다시 java 코드로 변경해주고 class 파일로 전환하여 메모리 공간에 로드한 뒤 실행 가능하게 만드는 작업(Servlet화)을 진행한다. 처리 결과를 HTML 파일로 만들어 주는 작업을 진행한다. 동적 로딩 처리를 진행한다.
- Web Server와 WAS 비교
- Web Server
장점
- 요청에 대한 결과 페이지만 전송하여 처리 속도가 빠르다.
- HTML 같은 단순한 문서만으로 구성되어 있기 때문에 구현이 쉽다.
- 만들어진 정보만 보여 주기 때문에 서비스가 한정적이다.
- 문서의 내용이 변경될 경우 직접 수정하여야 하기 때문에 글의 추가, 수정, 삭제가 어렵다.
- WAS
장점
- 여러 데이터를 활용할 수 있기 때문에 서비스가 다양하다.
- 문서의 내용이 변경되어도 직접 수정하지 않기 때문에 글의 추가, 수정, 삭제가 쉽다.
- 데이터를 처리하여 결과를 전송하기 때문에 처리 속도가 느리다.
- 서비스에 해당하는 소스를 직접 작성하여야 하므로 구현이 어렵다.
- Web Server