본문 바로가기
frontend/WEB

[WEB] WEB 구성요소 / Web, WebServer, WAS 차이점

by 신림쥐 2024. 5. 27.
728x90
반응형

 

     


     

    WEB 구성 요소

    Web

    • 인터넷을 기반으로 정보를 공유, 검색 하는 서비스이며 Web Browser를 통해 다양한 서비스를 제공한다.
      • HTML(Hypertext Transfer Protocol)언어를 기반으로 문서와 링크를 생성하여 웹사이트를 구성한다.
      • HTTP(Hypertext Transfer Protocol) 프로토콜을 사용하여 정보를 공유한다.
      • URL(Uniform Resource Locator)은 인터넷상의 리소스를 나타내는 주소이다.

    Web Browser

    • Web server와 통신하여 HTML 문서나 파일을 출력하는 GUI형식의 소프트 웨어

    Web Page

    • Web Browser에 표시되는 각각의 화면
    • Firefox, 구글 크롬, 오페라, MS 익스플로러나 엣지, 애플의 Safari 같은 웹 브라우저에서 보여지는 문서

    Web Site

    • 도메인 네임에 구축된 Web Page묶음
    • 다양한 방식으로 그룹으로 묶이거나 연결된 웹 페이지들의 모음
      • 검색엔진 : 웹 페이지를 다른 웹사이트에서 찾을 수 있게 도와주는 특별한 종류의 Web Site (예, google, naver)

    Web Server

    • 인터넷에 Web Site를 호스팅하는 컴퓨터
    • “호스팅"은 모든 웹 페이지 및 웹 페이지가 지원하는 파일들을 컴퓨터에서 이용할 수 있다는 것을 의미
    • 웹 서버는 유저의 REQUEST(요청)마다 호스팅하는 웹사이트에서 유저의 브라우저로 웹 페이지를 보낸다.
      • 웹사이트가 반응하지 않는다. = 웹 서버가 반응하지 않는다

    • "웹 서버"는 하드웨어, 소프트웨어 혹은 두 개가 같이 동작하는 것을 의미할 수 있습니다.
    1. 하드웨어 측면에서,
      1. 웹 서버는 웹 서버의 소프트웨어와 website의 컴포넌트 파일들을 저장하는 컴퓨터입니다. 컴포넌트 파일에는 HTML 문서, images, CSS stylesheets, 그리고 JavaScript files가 있습니다.) 웹 서버는 인터넷에 연결되어 웹에 연결된 다른 기기들이 웹 서버의 데이터(컴포넌트 파일들)를 주고받을 수 있도록 합니다.
    2. 소프트웨어 측면에서,
      1. 웹 서버는 기본적으로 웹 사용자가 어떻게 호스트 파일들에 접근하는지를 관리합니다. 이 문서에서 웹 서버는 HTTP서버로 국한합니다. HTTP 서버는 URL(Web addresses)과 HTTP(당신의 브라우저가 웹 페이지를 보여주기 위해 사용하는 프로토콜)의 소프트웨어 일부입니다.

     

    HTTP Request, Response

    오직 클라이언트만이 HTTP 요청을 만들 수 있으며, 서버에게만 보낼 수 있습니다.
    서버는 오직 클라이언트의 HTTP 요청에 응답할 수 있습니다.
    HTTP를 통해 파일을 요청할때, 클라이언트는 반드시 URL 파일들을 제공해야 합니다.
    웹 서버는 반드시 최소한의 에러 메시지를 포함하여 모든 HTTP 요청에 응답해야합니다.

    Client

    • 인터넷에 연결된 컴퓨터나 모바일 기기를 이용해 서비스하는 컴퓨터 또는 사용자
    • 즉, 웹 브라우저를 말한다.

    Server

    • 클라이언트에게 네트워크를 통해 서비스를 제공하는 시스템

    Web server

    • 인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 시스템
    • 해당 URL의 요청에 대해 동적으로 HTML을 생성하고 css, js, img 등의 정적 리소스를 처리한 후 응답한다.
    • 백엔드 WAS로의 동적 데이터 요청하는 역할도 한다.
    • 예) apache, Microdoft IIS

    WAS(Web Application Server)

    • 서버 환경을만들어 웹에서 실행되는 서비스 동작을 시키는 기능을 제공하는 소프트웨어 프레임워크
    • 웹 서버 요청에 대해 연산, 저장 등 기능을 수행하고 동적 데이터를 생성한 후 응답 한다.
    • 예) tomcat, JEUS, IBM

     

    정적 vs. 동적 컨텐츠

    • 정적 리소스 (static)
      • HTML, CSS, Javascript 등 같이 컴퓨터에 저장된 파일
    • 동적 리소스 (dynamic)
      • 누가, 언제, 어떻게 서버에 요청했는지에 따라 결과값을 다르게 보여주는 리소스(알고리즘 추천영상, 인기검색어 등)
      • 요청인자에 따라 바뀔수 있는 컨텐츠(이름, 주소 등 데이터)

     

    Web Server vs WAS

    분리 시 장점

    • 정적, 동적 컨텐츠 담당자를 나눠서 부하를 방지할 수 있다.
    • WAS는 DB 조회 및 다양한 로직을 처리하는데만 집중하고 정적 리소스는 웹 서버에 맡기면서 역할을 나눌 수 있다.

    분리 시 문제

    • 프론트와 백엔드를 분리해서 통신하게 되면 각자 다른 컴퓨터가 서로 통신을 하는 것이기 때문에 CORS(Cross-Origin Resource Sharing) 이슈가 발생할 수 있다.
    • 서버에서 프론트의 요청을 허용해주는 작업을 해줘야 한다.
    728x90
    반응형