❒ Description
웹 서비스의 전체적인 흐름을 이해하고 도식도를 그려보자!
❒ 흐름
다음과 같은 흐름으로 우리는 인터넷을 사용하다.
1. URL을 입력한다.
2. IP 주소를 얻기 위해 DNS 서버에 질의한다.
3. TCP/IP 커넥션을 맺는다.
4. HTTP 요청을 보낸다.
5. 서버에서 요청을 처리한다.
6. HTTP 응답을 보낸다.
7. 브라우저가 응답을 렌더링한다.
8. 추가 리소스 요청 및 렌더링
9. 세션이 유지되거나 종료된다.
10. TCP 연결을 종료한다.
아래 그림은 TCP/IP 4계층 모델과 Application의 흐름을 더 자세히 이해하고자 그려봤다.
참고로 중간에 Middleware가 있는데 이것은 곧 Servlet Container이다.
Servlet Container 관련해서는 여기에 정리해두었다.
Servlet Container 내부에는 여러개의 servlet이 존재하고, 아래와 같은 일을한다.
1. 요청 및 응답 관리
Servlet Container는 클라이언트로부터 들어오는 HTTP 요청을 수신하고, 이를 Java Servlet으로 전달합니다. Servlet은 요청을 처리한 후, 응답을 생성하여 클라이언트에게 돌려줍니다. 이 과정에서 Servlet Container는 요청과 응답 객체를 생성하고, 이를 효율적으로 관리합니다.
2. Servlet 생명주기 관리
Servlet Container는 Servlet의 생명주기(Lifecycle)를 관리합니다. 여기에는 Servlet의 초기화, 요청 처리, 종료와 같은 단계가 포함됩니다. 이를 통해 개발자는 비즈니스 로직에 집중할 수 있고, 자원 관리는 Servlet Container가 처리합니다.
3.쓰레드 관리
많은 클라이언트의 요청을 동시에 처리하기 위해, Servlet Container는 멀티쓰레딩을 지원합니다. 각 요청은 독립된 쓰레드에서 처리되며, Container는 쓰레드 풀을 관리하여 시스템 자원을 효율적으로 사용할 수 있게 합니다.
4. JSP 관리
Servlet Container는 JSP(JavaServer Pages)를 관리하기도 합니다. JSP는 서버 측에서 실행되는 웹 페이지로, 이를 Servlet으로 변환한 후, 요청을 처리합니다.
5. 보안 및 세션 관리
Servlet Container는 HTTP 세션 관리, 인증 및 권한 부여와 같은 보안 기능도 제공합니다. 이를 통해 사용자의 세션 상태를 유지하고, 요청에 대한 적절한 보안 조치를 취할 수 있습니다.
'CS > Network' 카테고리의 다른 글
Subnet, Subnet Mask, Subnetting (0) | 2024.09.25 |
---|---|
HTTP 3.0 (0) | 2024.08.23 |
SSL/TLS Handshake (0) | 2024.08.22 |
HTTP 2.0 (0) | 2024.08.20 |
HTTP Connection Management (0) | 2024.08.14 |