본문 바로가기

개발일지/Spring

[Server] Web Sever & WAS

Web Sever

: 클라이언트가 웹 브라우저에서 HTTP 프로토콜 기반의 요청을 하면,

  그 요청을 받아서 정적 컨텐츠를 제공하는 서버

*정적 컨텐츠? 단순 HTML 문서, CSS, 이미지, 파일 등 즉시 응답 가능한 컨텐츠

 

 

 

 

컴퓨터는 웹서버에게

“데이터 혹은 어떤 파일을 달라” 고 하고

웹서버는 그것을 응답해준다

 

즉, 컴퓨터는 웹서버하고만 통신한다

 

 

웹 서버는 정말 단순함

역할이 뭐냐,

A파일을 달라고 컴퓨터가 요청하면

웹 서버는 A파일이 어디있는지 찾고 그 파일을 준다

 

🤔 웹 서버가 정적 컨텐츠가 아니라 동적 컨텐츠 요청을 받는다면?

WAS에 해당 요청을 넘겨주고, WAS에서 처리한 결과를 컴퓨터에 전달한다

 

 

결론
1. 정적 컨텐츠 제공
2. 동적 컨텐츠 요청을 전달

ex ) NginX, Apache

 

 

WAS(Web Application Server)

: HTTP 프로토콜을 기반으로 동적 컨텐츠를 제공하고, 사용자 컴퓨터에 애플리케이션을 수행해주는 미들웨어

ex ) Tomcat, JBoss, WebSphere

 

 

 

네이버를 쓰는 이용자는 셀 수 없이 많다

그럼 네이버 페이지도 그 수에 맞춰서 셀 수 없이 많지는 않을 것이다

 

네이버는 하나의 페이지를 만들어놓고

페이지의 이름만 바꾸면 되는 것

 

기존에 파일을 갖다주는 것이 아닌

지금 들어온 사람의 이름에 따라 응답

 

 

 

웹 서버를 구축한다 == 웹 프로그램을 웹 서버에 올린다

WAS는 웹 서버가 넘긴 일을 처리하고 응답한다

WAS는 DB와도 소통하기도 한다 == SQL

로그인 한다고 생각해보자

 

 

  1. 컴퓨터에서 Web Sever로 로그인 요청
  2. Web Server는 WAS에 ID, PW를 보낸다
  3. WAS는 DB에 있는 데이터를 가져와서 비교한다
  4. WAS는 로그인 성공 페이지, 로그인 실패 페이지를 만든다
  5. Web Sever가 페이지 응답을 보낸다

 

WAS의 기능?

  • 웹 서버의 기능들을 구조적으로 분리하여 처리한다
    • 프로그램 실행 환경, DB 접속 기능 제공
    • 여러 트랜잭션 관리 기능

 

 

'개발일지 > Spring' 카테고리의 다른 글

[Server] ERD(Entity Relationship Diagram)  (0) 2023.12.13
[Server] 시스템 콜(System Call)  (0) 2023.10.03
[AWS] AWS에 대하여  (0) 2023.10.02
[Spring] 스프링 입문 - AOP  (0) 2023.10.01
[Spring] 스프링 입문 - JPA  (0) 2023.10.01