마농의 개발 일지

2. 웹의 동작 본문

JSP & Servlet

2. 웹의 동작

마농.. 2022. 9. 1. 22:06

1. 인터넷 : TCP/IP 기반의 네트워크가 전세계적으로 확대되어 하나로 연결된 네트워크들의 네트워크(네트워크의 결합체)

2. HTTP 프로토콜 (Hypertext Transfer Protocool)

서버와 클라이언트가 인터넷상에서 데이터를 주고 받기 위한 프로토콜

 

3. HTTP 작동방식 : 서버/클라이언트 모델

단점: 서버가 응답 후 연결을 끊어버리기 때문에 클라이언트의 이전 상황을 알 수 없음. 이러한 특징을 무상태(Stateless)라고 함. 이러한 특징 때문에 정보를 유지하기 위해서 Cookie와 같은 기술 등장

 

장점: 불특정 다수를 대상으로 하는 서비스에는 적합. 

클라이언트와 서버가 계속 연결된 상태가 아니기 때문에 클라이언트와 서버 간의 최대 연결 수보다 훨씬 많은 요청과 응답 처리 가능. 

 

4. URL (Uniform Resource Locator)

- 인터넷 상의 자원의 위치

- 특정 웹 서버의 특정 파일에 접근하기 위한 경로 혹은 주소

 

접근 프로토콜 (http://) + 서버의 IP 주소 또는 도메인 이름(www.sunnyvale.co.kr) + 

 

하나의 물리적 컴퓨터에는 여러 개의 소프트웨어 서버가 동작할 수 있는데 이 서버는 포트값이 다르 게 동작해야 함.

포트값은 0보다 큰 숫자값. HTTP 서버는 기본 포트값이 80

 

IP : 집 주소 / 하나의 컴퓨터에 IP 하나

포트 : 집 안의 각 방들 / 하나의 방에 서버 한 개만 존재 가능

 

5.  웹 서버

- 보통 소프트웨어를 말하지만, 엄밀히 웹 서버 소프트웨어를 동작하는 컴퓨터를 말함.

- 가장 중요한 기능 : 클라이언트가 요청하는 HTML 문서나 각종 리소스 전달

- 웹 브라우저나 웹 크롤러가 요청하는 리소스는 컴퓨터에 저장되어 있는 정적인 데이터거나 프로그램의 동적인 결과가 될 수 있다.

 

6. 웹 서버 소프트웨어의 종류

- 가장 많이 사용됨 : Apache, Nginx, Microsoft, Google 웹 서버

- Nginx : 차세대 웹 서버로 불림. 사용량 증가하는 중.

 

7. DBMS (Database Management System)

 - 다수의 사용자들이 데이터베이스 내의 데이터에 접근할 수 있도록 해주는 소프트웨어.

 - 예) MySQL, Oracle, PostgreSQL 등

 - 초기에는 클라이언트 - DBMS 바로 연결했으나, 보안적 경제적 이유로 Middleware 를 사용하게 됨.


8. 미들웨어 (Middleware)

 - 클라이언트 쪽에 비즈니스 로직이 많을 경우, 클라이언트 관리(배포 등)로 인해 비용이 많이 발생하는 문제가 발생.

 - 비즈니스 로직을 미들웨어 서버에서 동작하도록 함으로써 클라이언트는 입력과 출력만 담당하도록 함

 - 비즈니스 로직이 변경되어도 미들웨어만 손보면 되는 장점.

 

9. WAS (Web Application Serveur)

  - 최초 웹은 정적 페이지. 시간이 흐르며 동적 기능 수요 증가. 동적 기능은 주로 DBMS와 상호 작용 필요.

  => WAS : 일종의 미들웨어. 웹 클라이언트의 요청 중 보통 웹 애플리케이션이 동작하도록 지원하는 목적을 가짐.

  - WAS의 대표적 세 가지 기능

   a. 프로그램 실행 환경과 데이터베이스 접속 기능 제공

   b. 여러 개의 트랜잭션을 관리한다.

   c. 업무 처리하는 비즈니스 로직을 수행한다.

 

10. 웹 서버 vs WAS

  - WAS 보통 자체적으로 웹 서버 기능 내장

  - 현재는 WAS가 가지고 있는 웹 서버도 정적인 컨텐츠 처리에 성능상 큰 차이 없음.

  - 규모가 커질수록 웹 서버와 WAS 분리. 목적 : 장애 극복 기능

 

 

 

'JSP & Servlet' 카테고리의 다른 글

4. Servlet 작성 방법  (0) 2022.09.03
3. Servlet 이란?  (0) 2022.09.02
1. 웹 프로그래밍 시작  (0) 2022.08.31