inblog logo
|
sxias
    스프링부트

    [스프링부트] 1. WAS

    문정준's avatar
    문정준
    Mar 12, 2025
    [스프링부트] 1. WAS
    Contents
    1. WAS란?2. WS 작동 구조3. WAS 작동 구조
    ✏️

    WAS vs WS

    • Web Server : 요청 받은 html 파일을 출력
    • Web Application Server : 요청 받은 파일을 컴파일, 실행 후 출력
      • 출력 결과는 브라우저에서 인식할 수 있어야 함
     

    1. WAS란?

    • WAS (Web Application Server) : 애플리케이션 (프로그램)을 실행시킨 결과를 웹으로 제공
      • URL / URI
        • URL : 파일 식별자, 파일명 경로를 전부 포함
        • URI : 파일 식별자 경로
      • 애플리케이션을 실행할 수 있다는 점에서 웹 서버와 차이가 있음
        • 웹 서버 : 요청 받은 HTML 파일의 내용 전송 → 브라우저에서 출력
        • 웹 애플리케이션 서버 : 요청 받은 앱 컴파일 후 실행 → 결과 전송 → 브라우저에서 출력
    notion image
     
     

    2. WS 작동 구조

    • A 사용자가 B 서버에게 URL 요청
      • 웹은 http 프로토콜을 사용 : http://IP주소:포트번호/폴더명/파일명
      • 서버는 요청 받은 URL을 파싱 후 맞는 파일을 File System에서 찾음
      • 찾은 파일의 내용을 읽어 사용자에게 전달
      • 사용자는 브라우저에서 Rendering을 통해 내용 확인 (브라우저에서 내용 자동 해석)
    ✏️

    웹 서버는 URL 요청을 받아 파일을 찾아주는 것으로 역할이 끝난다!

    notion image
     

    3. WAS 작동 구조

    • A 사용자가 B 서버에게 URL 요청
      • http 프로토콜을 사용 : 위와 같은 형식의 URL이 전송됨
      • 서버에서는 파싱을 통해 요청한 파일이 html인지, 다른 애플리케이션 파일인지 확인
        • HTML 파일일 경우, 웹 서버처럼 HTML 파일 내용을 읽어 사용자에게 전송
        • 아닐 경우, 다음의 과정을 걸쳐 사용자에게 내용 전송
            1. URL 읽기 (필요한 파일 확인)
            1. 컴파일 & 실행 → 결과 도출
            1. 결과를 버퍼에 넣어 전송
        • 서버가 전송하는 결과는 브라우저에서 읽을 수 있는 형태여야 함
      • 사용자는 브라우저에서 Rendering을 통해 내용 확인
    notion image
     

    Structures of Operations about WAS with Servlet

    1. 클라이언트 측에서 URL 혹은 a 태그를 통해 GET 메서드 요청
        • 이때, 클라이언트 측의 Request에는 Body가 없음 ( Header 값만 존재 )
    1. WAS에서 Request를 수신하고 파싱 ( 식별자 클래스를 찾음 )
        • URL 형태(.html)로 전송했을 경우, HTML 파일을 출력해서 Response
    1. 필요한 정보들을 HTML + Java 실행 결과 형태로 resp에 담고 전송
        • 결과물은 완전한 HTML 파일로 담음
        • 이 형태를 서버에서 그림을 그린다 하여 Server-Side Rendering
    1. 클라이언트 측 브라우저에서 전송 받은 HTML 파일을 Rendering을 통해 출력
    notion image
    Share article
    Contents
    1. WAS란?2. WS 작동 구조3. WAS 작동 구조

    Sxias ㆍ a32176740@gmail.com

    RSS·Powered by Inblog