CS 기술 질문 | 웹 2 (웹서버 vs WAS, MSA, Monolithic, MVC 패턴) 관련 [질문 모음]

728x90

24.03.09 (금) 나온 질문 공유

  1. 웹 서버와 WAS의 기본적인 차이점
    1. 웹서버는 정적 컨텐츠, WAS는 동적 컨텐츠를 생성하고 비즈니스 로직을 처리
  2. MSA의 장단점을 설명해주세요
    1. 장점
      1. 독립된 서비스 개발 및 배포
      2. 장애 격리
      3. 서비스별 스택을 다양하게 가져갈 수 있음
    2. 단점
      1. 통합 테스트가 어렵다
      2. 통신 오버헤드 발생
  3. WAS 만 사용하면 안되는지
    - 분리하여 구성했을 때 이점이 명확해서 분리 구성한다.
    1. 서버 부하 방지
    2. 실제로 대규모 서비스→ 트래픽 분산을 위해 여러 WAS를 둬야함. 로드밸런싱 역할
    3. 보안 강화 : 웹서버 SSL/TLS 처리 가능, WS, WAS는 다른 포트 사용하므로 WAS에 방화벽쳐서 보안 더 강화할 여지도 있음
  4. MVC 패턴이 무엇인지 간단하게 설명
    1. 개념
      1. View : 사용자가 보는 부분
      2. Model : 비즈니스 로직 담당
      3. Controller : 중간을 연결하는 것을 단점
    2. 장점
      1. 테스트 용이
      2. 분리되어 있기 때문에 코드 재사용성 유리
      3. 유연성과 확장성을 가진다
  5. 서블릿 vs JSP 차이점 설명
    1. 웹 서버, 웹 컨테이너 → 동적, 정적 처리 가능하며 동적인 처리를 해주는 서버 프로그램 = 서블릿
    2. 서블릿 : HTML 안에 Java 코드
    3. JSP → HTML 안에 java 코드 작성
  6. 서블릿 동작 과정
  7. MVC 패턴과 모델1과 모델 2의 차이점
    - view 와 컨트롤러가 통합됐냐(모델1) 분리됐냐(모델2)의 차이
  8. MVC 패턴의 단점
    1. 복잡한 대규모 프로그램의 경우 컨트롤러가 불필요하게 커지는 경우 발생
    2. 복잡해지면 테스트가 어렵다
    3. 대안 : 다른 패턴을 사용해라(MVVM)
  9. MVC 패턴을 사용하는 프레임워크나 라이브러리
    - Django, Augular JS
  10. 모놀리식 아키텍처 특징
    1. 하나로 통합되어 있음
    2. end-to-end 테스트가 쉬움
    3. 단순한 구조이기 때문에 초기 개발 용이
      [단점]
      1. 모든 것들 빌드 ,배포 해야함
      2. 하나의 에러가 전체 서버를 죽임
  11. Apache , Tomcat 멀티스레드인가 멀티 프로세트인가
    1. 아파치 - 멀티프로세스, 설정에 따라 멀티스레드 같이 사용가능
    2. 톰캣 - 스레드 풀을 가지고 요청시 스레드를 꺼내서 쓴다
  12. WAS의 일종인 Tomcat 이름에 Apache Tomcat 풀 네임을 쓰는 이유
    - 톰캣이 아파치 기능을 포함하기 때문에 이렇게 부른다
  13. 스프링 부트는 내장된 서블릿 컨테이너로 아파치 톰캣을 사용한다

스터디 | 웹 2 (웹서버 vs WAS, MSA, Monolithic, MVC 패턴)

- 웹서버 vs WAS (with 서블릿)
- MSA vs Mnolithic
- MVC 패턴

 

웹서버 vs WAS (with 서블릿) 관련

✅ WS (Web Server) 에 대해 설명해주세요.

ex Apache, Nginx

  • HTTP 프로토콜 기반으로 클라이언트에게 정적 컨텐츠 제공하기 위한 서버
  • 비즈니스 로직 넣을 수 X
  • 사용자의 요청을 가장 먼저 받는다.
  1. 정적 컨텐츠는 곧장 제공 (WAS 까지 거치지 않고 WS 선에서 바로 자원 제공)
  2. 동적 컨텐츠 요청은 WAS에 넘기고 그 동적 컨텐츠 응답을 받아 클라이언트에게 전달

✅ WAS (Web Application Server)에 대해 설명해주세요.

ex Tomcat

  • DB 조회 혹은 다양한 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application 서버
  • 비즈니스 로직 O 로직에 맞게 자원을 생성
  • WAS = Web Server + Web Container

✅ WS는 왜 필요한가요 ?

  • 웹 서버를 통해 정적 컨텐츠들은 Application Server까지 가지 않고, 앞단에서 빠르게 보내진다.
  • 즉, 정적 컨텐츠만 처리 가능하도록 기능 분배하여 서버 부담 줄인다.
  • 미리 만들어놓는 건가 ?

✅ WAS는 왜 필요한가요 ?

  • 웹 페이지에는 정적, 동적 컨텐츠가 모두 존재한다.
  • WS 만 사용하면 원하는 요청에 대한 결과값을 모두 만들어놓아야한다. ???
  • 그러면 자원 부족해지는 문제 발생한다.
  • 따라서 WAS 를 통해 요청에 맞는 데이터를 DB에서 가져와 비즈니스 로직에 맞춰서 그때 그때 결과를 만들어 제공함으로써 자원을 효율적으로 사용할 수 있게 된다.

✅ WS와 WAS 즉, (Web Server와 Web Application Server) 차이점 설명하시오.

가장 큰 차이점은 ‘동적 컨텐츠를 다룰 수 있는가’ 입니다.

1) 웹 서버는 처리할 수 있는 데이터가 ‘정적 컨텐츠’ (html, css, 이미지) 로 한정됩니다.

2) 반면, 웹 어플리케이션 서버에서는 정적 + 동적 컨텐츠까지도 처리할 수 있습니다.

WAS 내부 구조

→ 그 이유는 웹 어플리케이션 서버가 웹 서버에 웹 컨테이너를 붙인 형태이기 때문입니다. 그래서 정적 컨텐츠에 대해서는 WS에서 철하여 응답하고, 동적 컨텐츠일 경우 Web Container로 보내서 동적 컨텐츠에 대한 응답을 해줍니다.

✅ WAS 가 WS 의 기능을 모두 수행하면 안되나 ? WAS만 쓰면 안되나 ?

그렇지 않다. 분리하여 구성했을 때 이점이 명확하기 때문이다.

1) 서버 부하 방지 목적

  • WAS가 정적 컨텐츠 요청까지 처리한다면 부하가 커지고 수행 지연이 일어난다.

2) WS에서 여러 대의 WAS를 로드밸런싱 한다.

  • 실제 안정적으로 운영되는 웹 서비스 개발을 위해서는 대규모 트래픽에 감당할 수 있도록 ‘고 가용성’ 신경써야 한다.
  • 이때 여러 대 WAS에 균등한 트래픽 전송되도록 배분하는 역할을 WS 가 하고, 특정 WAS에 트래픽 가중되거나 운영중에 죽어버린 WAS에 대해 다른 WAS로 분산되도록 할 수 있다.

→ 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수 편의성 위해 둘을 분리하는 게 낫다.

3) 보안 강화

  • SSL 에 대한 암호화, 복호화 처리에는 WS(웹 서버) 사용한다.
  • 웹 서버와 WAS에 접근하는 포트가 다르기 때문에 WAS에 들어오는 포트에는 방화벽을 쳐서 보안을 강화할 수도 있다.
💡 서블릿, 서븥릿 컨테이너 (=Web Container), 나아가서 Dispatcher Servlet 까지 정리하자.

✅ 서블릿 (Servlet) 에 대해 설명해주세요.

⇒ 서블릭 (Servlet) 이란 ?

  • 클라이언트 요청 처리하고 그 결과 반환하는 Servlet 클래스 구현 규칙 지킨 자바 웹 프로그래밍 기술이다.
  • WS는 정적인 처리**, WAS는 동적인 처리를 하는데, WAS가 이러한 동적 처리를 할 때 사용하는 서버 프로그램을 ‘서블릿’이라고 한다.**
  • 서블릿 존재 전에는 HTTP 요청 메시지를 파싱하는 작업 등 여러 부가 작업을 개발자가 해야해서 개발자가 비즈니스 로직에 온전히 집중하기 어려웠다.
  • 서블릿 덕분에 개발자는 실질적인 메인 로직에만 집중할 수 있어졌다.
  • Spring MVC에서 Controller로 이용되며, 사용자 요청 받아 처리 후 결과 반환

 

✅ 서블릿 컨테이너 (=Web Container) 에 대해 설명해주세요.

Servlet Container = Web Container는 무엇인가 ?

서블릿 컨테이너는 서블릿의 생명주기 관리와 서블릿의 실행 환경을 제공하는 런타임 환경

  • 서블릿 컨테이너는 쓰레드 풀에서 쓰레드를 꺼내 할당해주고, HttpServletRequest, HttpServletResponse 두 객체를 생성한다.
  • 사용자가 요청한 URL 분석하여 어느 서블릿에 대한 요청인지 찾는다.
  • 서블릿 컨테이너에 존재하지 않으면 초기화하고 있다면 가져와서 service() 메소드 호출한다.
  • service() 메소드 수행 끝나면 HttpServletResponse 객체에 응답을 보낸다.
  • 응답이 완료되면 HttpServletRequest, HttpServletResponse 객체를 소멸시킨다.

✅ 서블릿 컨테이너의 주요 기능은 뭔가요.

  1. 서블릿 생명주기 관리
  2. 클라이언트 요청에 따른 서블릿 호출 및 응답 반환
  3. 멀티 스레드 처리 (여러 클라이언트 요청 동시 처리)
  4. 세션 관리 (세션 생성, 추적, 제거)
  5. 보안 관리 (인증, 권한 부여)
  6. JSP 컴파일 및 생성

cf. 스프링 부트의 서블릿 컨테이너

  • 스프링 부트는 내장된 서블릿 컨테이너로 Apache Tomcat을 사용한다.
  • 따라서 SPring boot 애플리케이션 실행하면 내부적으로 서블릿 컨테이너 실행되어 웹 어플리케이션을 실행하고 클라이언트의 요청을 처리한다.

✅ 서블릿 생명주기는 무엇인가요 ?

1) init() 메소드

  • 서블릿 객체 생성 시 1번만 호출
  • 서블릿 초기화 작업 위한 메소드

2) service() 메소드

  • 서블릿 객체 이용 시 호출되는 메소드 (즉, 클라이언트 요청할 때마다 호출됨)
  • 요청에 대한 응답처리 하기 위한 메소드

3) destroy() 메소드

  • 서블릿 객체 소멸 시 1번만 호출
  • 서블릿 마무리 작업 위한 메소드

✅ Dispatcher Servlet 은 뭔가요 ?

  • Tomcat과 같은 서블릿 컨테이너 통해 들어오는 모든 요청을 제일 앞에서 받는 컨트롤러
  • 공통된 작업 처리 후 적절한 세부 컨트롤러로 작업을 위임함
  • 각 세부 컨트롤러는 철할 부분은 처리하고 반환할 View를 Dispatcher Servlet에 넘김

✅ Apache(웹 서버 일종)는 멀티 프로세스인가, 멀티 스레드인가 ?

아파치는 기본적으로 멀티 프로세스로 구현되어 있다. 하지만 설정에 따라 멀티 스레드를 같이 운용할 수 있다.

✅ Tomcat (WAS 일종)는 멀티 프로세스인가, 멀티 스레드인가?

톰캣은 요청 처리하기 위한 스레드 풀을 관리하고 있다.

그리고 요청이 들어오면 해당 스레드 풀에서 스레드를 꺼내 요청을 처리하도록 한다.

🎈 근데 왜 Tomcat 이름은 Apache Tomcat 이냐 ?

웹 서버에는 Apache가 있고, WAS 에는 Tomcat 이 있는데, Tomcat의 이름을 Apache Tomcat으로 붙여 쓰는 이유는 2008년에 릴리즈된 Tomcat 5.5버전부터 정적 컨텐츠 처리 기능 추가되었는데, 이 기능이 순수 Apache를 사용하는 것에 비해 성능적 차이가 전혀 없고 Tomcat이 Apache 기능을 포함하게 되었기 때문에 붙여 부른다고 한다.


MSA vs Mnotithic 관련

  1. 모놀리식 아키텍처와 MSA에 대해 아시나요?
  2. 두개의 차이는 무엇인가요?
  3. 어떤 장점과 단점이 존재하나요?

✅ Monolithic Architecture 에 대하여 설명해주세요.

  • 애플리케이션 구성 요소가 1개로 되어있는 형태
  • 모든 시스템의 구성요소가 한 프로젝트에 통합되어 있는 형태

✅ Monolithic Architecture의 장단점을 설명해주세요.

장점

  • End-to-End 테스트 용이 (즉, 끝에서 끝까지 애플리케이션 시작~끝까지의 테스트 비용이 적다
  • 개발 초기에는 단순한 구조 때문에 개발 용이하다는 게 장점

단점

  • 작은 수정사항에도 전체를 빌드/배포해야 되는 문제
  • 한 개의 에러가 전체 서버를 죽이는 문제
  • 규모가 커질수록 복잡성 증

✅ MSA (MicrosService Architecture) 에 대하여 설명해주세요.

  • Monolithic Architecture의 한계점을 극복하고자 등장
  • 애플리케이션 내의 다양한 서비스를 구성 요소화 시켰다.
  • MSA는 1개의 시스템을 독립적으로 배포 가능한 각각의 서비스로 분할한다.
  • 각각의 서비스느 RESTful API를 통해 데이터를 주고받으며 1개의 큰 서비스를 구성한다.
  • 즉, 각 서비스가 독립적이기 때문에 업데이트 용이

✅ MSA (MicrosService Architecture)의 장단점을 설명해주세요.

장점

  • 각 도메인 별 서비스 배포 운용 하므로 (결합도 낮아짐)
  • 배포가 유연함
  • 일부 서비스에 장애 발생해도 전체 서비스에 장애 발생 X
  • 각 서비스들은 서로 다른 언어와 프레임워크로 구성 가능
  • 재사용성 및 확장성 좋다.

단점

  • 서비스가 분리되어 있어, 테스팅이나 트랜잭션 처리가 어렵다.
  • 서비스 간 RESTful API로 통신하기 때문에 그에 대한 비용 발생
  • 서비스 간 호출이 연속적이라 디버깅 어렵다.

✅ 모놀리식 아키텍처 특징

  • Simplicity (심플함) : 한 개의 서비스로 운용하기 때문에 구조는 심플
  • Consistency (일관성) : 한 개의 서비스에서 프로세스가 돌아가기 때문에 일관성 유지 가능
  • cf. MSA의 경우 다양한 서비스를 통하기 떄문에 일관성 유지 어려울 수 있다.
  • Inter-module refactoring (모듈 간 리팩토링) : 한 개의 서비스에서 통신 오가기 때문에 모듈 간 리팩토링 용이
  • cf. MSA의 경우 각기 다른 서비스에서의 통신 있기 때문에 상당히 어려운 편

마이크로서비스 아키텍처 특징

  • Partial Deployment (부분 배포) : 서비스가 부품화되어 있어 업데이트 용이
  • Availability (가용성) : 자동배포 바탕이 되므로 하루에 새로운 배포 이루어지더라도 서비스는 끊임없이 제공된다.
  • Preserve Modularity (모듈성 유지) : 서비스들이 분리되어 있어서 상호모듈 간 영향 X 깨끗한 종속성 갖는다.
  • Muliple Platforms (다중 플랫폼, 언어) : 서비스 분리되어 있어서 상황에 맞게 여러 프로그래밍 언어 사용 가능

MVC 패턴 관련

✅ MVC 패턴이란 ?

Model-View-Controller 구조로 아키텍처 설계하기 위한 디자인 패턴이다.

  • Model : 비즈니스 로직 처리 (Service, DAO 등)
  • View : 사용자 UI
  • Controller : Model과 View 사이 잇, 경로별 매핑하는 역할

✅ Spring MVC 란 ?

웹 어플리케이션 개발을 위한 MVC 디자인 패턴 기반의 웹 프레임워크이다.

역시 구성요소는 Model, View, Controller 구조이다.

✅ Spring MVC 구성 컴포턴트

  • Dispatcher Servlet : 클라이언트 요청 가장 먼저 받아들이는 서블릿(요청에 맞는 컨트롤러에게 요청 전달)
  • Handler Mapping : 해당 요청이 어떤 컨트롤러에게 온 요청인지 검사
  • Controller: 클라이언트 요청에 대한 처리 결과는 Dispatcher Servlet에 전달
  • ViewResolver : View 이름 통해 알맞은 View 찾음
  • View : 사용자에게 보여줄 UI

✅ Spring MVC 작동 원리

  1. 클라이언트는 URL을 통해 요청 전송
  2. 디스패처 서블릿은 핸들러 매핑을 통해 해당 요청이 어느 컨트롤러에게 온 요청인지 찾는다.
  3. 디스패처 서블릿은 핸들러 어댑터에게 요청의 전달 맡긴다.
  4. 핸들러 어댑터는 해당 컨트롤러에 요청 전달한다.
  5. 컨트롤러는 처리 결과를 반환할 뷰 이름 반환한다.
  6. 디스패처 서블릿은 View Resolver를 통해 반환할 뷰 찾는다.
  7. 디스패처 서블릿은 컨트롤러에서 뷰에 전달할 데이터를 추가한다.
  8. 데이터가 추가된 뷰를 반환한다.

✅ MVC 패턴 등장 이유 설명해주세요.

세 구성요소로 독립적으로 개발하는 것이 ‘생산성’ 좋기 때문이다.

  1. 구성요소들의 재사용 가능
  2. 확장성 증가
  3. 중복 코드 줄어듬
  4. 각 요소에 집중하며 개발 가능

✅ MVC 패턴의 모델1과 모델2 차이점을 설명해주세요.

1) MVC 모델 1 : 뷰와 컨트롤러의 역할이 합쳐짐

  • JSP가 View와 Controller를 모두 JSP가 담당하는 형태
  • 사용자의 요청을 JSP가 받고 Java Bean 호출하여 처리하고 반환

2) MVC 모델 2 : 뷰와 컨트롤러 역할이 분리됨

  • JSP 와 Servlet 모두 사용하여, View와 Controller를 분리한다.
  • 웹 브라우저의 요청은 컨트롤러가 받고, 모델에서 요청에 대한 결과를 도출한 뒤 컨트롤러가 뷰 선택하여 데이터 전달하면 뷰는 오직 화면 출력만 한다.

1) Model1 은 View와 Controller를 JSP에서 모두 구현하는 구조이다.

  • 따라서 클라이언트 요청을 받는 것도 JSP, Model과 상호작용하여 변경된 Model 사용하여 View를 다시 그려내는 것도 JSP이다.
  • 즉, 사용자 요청 처리와 응답 처리를 모두 JSP에서 구현하는 구조이다.

2) Model2 는 Model1과 다르게 View와 Controller가 분리된 구조 가진다.

  • Controller와 View를 분리함으로써 클라이언트 요청 처리 부분과 응답 처리 부분을 분리하여 각 로직을 독립적으로 수행할 수 있다.

✅ MVC 패턴 규칙 (주의할 점)

1) Model은 Controller와 View 에 의존하지 않아야 한다.

  • 즉, Model 내부에 Controller와 View 관련 코드 있으면 안됨 오직 비즈니스 로직 처리에 집중

2) View는 Model에만 의존해야 하고, Controller에는 의존하면 안된다.

  • View 내부에 Model의 코드만 있을 수 있고, Controller의 코드가 있으면 안된다.

3) View가 Model로부터 데이터 받을 때는 사용자마다 다르게 보여주어야 하는 데이터에 대해서만 받아야 한다.

4) Controller는 Model과 View에 의존해도 된다.

  • Controller 내부에는 Model과 View의 코드 있을 수 있다.

5) View가 Model로부터 데이터 받을 때 반드시 Controller 경유하여 받아야 한다.

✅ 왜 MVC 패턴을 사용해야 하나요 ? | 장점

  1. 역할 명확히 분리하여 서로 간 결합도 낮출 수 있다.
  2. 코드 재사용성 및 확장성 높인다.
  3. 서비스 유지보수 테스트 용이해진다.
  4. 개발자 간 커뮤니케이션 효율성 높일 수 있다.

✅ MVC 패턴 사용 시 단점은 ? | 단점 및 한계점

프로그램이 복잡하고 대규모화되면 ‘Controller’ 너무 커진다.

개발 유지보수 용이하도록 설계된 모델임에도, 일정 수준 프로그램이 복잡해지면 수정 시 테스트 어렵고 하나의 수정이 다른 부분에 영향을 미치는 역효과도 있을 수 있다.

[MVC 패턴의 한계]

Model과 View가 서로의 정보를 갖고있지 않은 독립적 상태라곤 하지만, Controller를 통해 소통이 이뤄지기 때문에 의존성이 완벽히 분리될 수는 없다.

복잡한 대규포 프로그램의 경우 다수의 View 와 Model이 Controller를 통해 연결되기 때문에 되려 Controller가 불필요하게 커지는 현상이 발생한다. Massive-View-Controller 현상

✅ MVC 패턴의 대안이 있나 ? [대안은 다른 패턴 사용]

  • MVVM 패턴 : 뷰와 모델 간 데이터 바인딩 쉽게 구현하고자 할 때, 뷰와 모델 간 의존성 해결하기 위해 MVVM 패턴 사용할 수 있다.
  • FLUX 아키텍처 : 복잡한 애플리케이션에서 상태 관리 효과적으로 하고자 할 , Acrion과 상태를 이용하여 예측 가능한 데이터 흐름을 구현하고 자할 때 사용
  • Redux 아키텍처 : 상태 관리를 중심으로 구현하고자 할 때 불변성을 강조하여 상태 관리 복잡성을 줄이고자 할 떄 사용

✅ MVC 패턴 사용하는 프레임워크나 라이브러리

→ Spring Framework, Django, Angular JS 등 더 많다.

 

 

 

https://velog.io/@yukina1418/모놀리식-아키텍처와-MSA

 

모놀리식 아키텍처와 MSA

신입한테 물어보지 않았으면 좋겠는 질문 1위 (완성은 했으나, 추후 업데이트 예정)

velog.io

https://devms.tistory.com/380

 

MSA란 무엇인가?

MSA란 무엇인가? MSA 하나의 서비스를 만들때 도메인별로 서비스를 쪼개어 독립적으로 서비스하고, 디플로이할 수 있도록 구성하는 아키텍쳐 모놀리식(monolithic) 아키텍처와 대비되는 성격의 아키

devms.tistory.com

https://dev-coco.tistory.com/164

 

신입 개발자 기술면접 질문 정리 - 프로그래밍 공통/기타

💡 Restful API에 대해 설명해주세요. Restful API는 HTTP 통신을 Rest 설계 규칙을 잘 지켜서 개발한 API를 Restful한 API라고 합니다. Rest 설계 규칙은 URI는 정보의 자원만 표현해야 하며, 자원의 상태와 행

dev-coco.tistory.com

https://mangkyu.tistory.com/95

 

[기술면접] CS 기술면접 질문 - 백엔드 (8/8)

8. 백엔드(Spring 위주) [ WAS와 WS의 차이 ] WAS(Web Application Server) 비지니스 로직을 넣을 수 있음 Tomcat, PHP, ASP, .Net 등 WS(Web Server) 비지니스 로직을 넣을 수 없음 Nginx, Apache 등 [ 많은 트래픽이 발생한

mangkyu.tistory.com

 

https://lasbe.tistory.com/99

 

[JSP] MVC패턴과 Model1, Model2

MVC 패턴 디자인패턴 중 하나인 MVC 패턴은 Model, View, Controller로 구성되어 있습니다. 이 세가지 요소는 프로젝트에서 각각의 역할을 구분해 담당합니다. 기능별로 역할을 구분지음으로써 각 역할

lasbe.tistory.com

https://devdange.tistory.com/entry/Web-Model1-Model2-MVC-패턴의-구조와-장단점

 

[Web] MVC 패턴, Model1, Model2 란? 구조와 장단점까지 알아보기

안녕하세요 데브당에입니다. 웹 어플리케이션 개발에 있어 빼놓을 수 없는 MVC 패턴과 Model1, Model2 에 대해 알아보겠습니다. MVC(Model-View-Controller) Pattern JSP를 이용하여 구성할 수 있는 Web Application A

devdange.tistory.com

https://velog.io/@come_true/WAS와-WS의-차이점

 

WAS와 WS의 차이점

🌱 WS (Web Server) HTTP 프로토콜을 기반으로 하여 클라이언트에게 정적인 파일을 제공하기 위한 서버로 가장 앞에서 요청에 대한 처리를 진행한다. 1) 정적인 컨텐츠 제공 - WAS를 거치지 않고 바로

velog.io

https://medium.com/@heoh06/프론트엔트-기술면접-mvc-패턴-c0639999820a

 

[프론트엔트 기술면접] MVC 패턴

MVC 패턴이 무엇인가요?

medium.com

https://codechasseur.tistory.com/25

 

[Web] 웹 서버와 WAS의 차이를 쉽게 알아보자

서버 개발에 있어서 가장 기초적인 개념인 '웹 서버'와 'WAS(Web Application Servier)'의 차이점을 다뤄보려고 한다. 💡 웹 서버 사전적 정의 "웹 브라우저 클라이언트로부터 HTTP 요청을 받아들이고 HTML

codechasseur.tistory.com

 

728x90