본문 바로가기
기타 미분류

[UMC 1기] 클라이언트, 서버, 서버의 구조, 웹서버와 WAS, 운영체제

by domo7304 2021. 9. 29.

Week1 2021.09.25 ~ 2021.10.02.

1. 클라이언트 - 서버 관계 & 서버의 구조 & 서버의 동작 방식과 순서

  1. 실생활에서의 예시 ex) 레스토랑, 손님 - 웨이터 - 요리사 - 냉장고
    1. 손님이 음식을 주문
    2. 웨이터가 주문을 접수, 전달
    3. 요리사가 전달받은 주문을 요리
    4. 필요한 재료가 있다면 냉장고에서 꺼내서 사용
    5. 요리사 - 웨이터 순으로 음식 전달
  2. CS관점
    1. client가 server에 request를 전달
    2. server는 해당 request를 전달받은 후 back-end language로 전달
    3. back-end language는 데이터를 적절히 가공
    4. 필요한 데이터가 있다면 database로부터 필요한 정보 가져오기
    5. back-end language - server 순으로 response 전달

2. Web Server와 Web Application Server(WAS)

글 설명 : https://gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

영상 설명 : https://youtu.be/F_vBAbjj4Pk

  1. Web Server
    • 클라이언트로부터 HTTP 요청을 받아 HTML 문서나 각종 리소스를 전달
    • HTML, CSS와 같은 정적인 데이터만을 클라이언트에게 전달할 수 있음
  2. Web Application Server (WAS)
    • DB조회나 다양한 로직처리 등 '동적인' 컨텐츠를 제공하기 위해 만들어진 Application Server
    • WAS = Web Server + Web Container
    • Web Container란 JSP, Servlet을 실행할 수 있는 소프트웨어를 의미
    • 정적인 컨텐츠는 Web Server에서 처리하고, 동적인 컨텐츠에 대한 요청이 올 경우 해당 요청을 Web Container에게 전달하여 처리
  3. Web Server 와 WAS 를 함께 쓰는 이유
    • 물리적으로 분리하여 보안 강화
      • 공격에 대해 Web Server 를 앞 단에 두어 중요한 정보가 담긴 WAS까지 전파되지 않도록함
    • 여러 대의 WAS를 Web Server를 통해 연결 가능
      • Load Balancing
      • fail over, fail back 등 유연한 장애 대응
      • 대용량 웹 어플리케이션의 경우 Web Server와 WAS를 분리하여 쉽게 장애에 대응하고 무중단 서비스를 제공할 수 있음
  4. 생각해볼 수 있는 질문
    • Web Server를 따로 사용해보신 적이 있으신가요?
    • 사용해본 경험이 있다면 : 왜 Web Server와 WAS를 함께 사용하였는지, Web Server가 WAS의 앞 단에 있음으로서 얻게되는 이점은 무엇인지 설명
    • 사용해본 경험이 없다면 : 왜 따로 WAS 앞 단에 Web Server를 두지 않았는지, 이유가 있다면 그 이유에 대해서 설명

2. 운영체제(OS)

  1. 운영체제란?
    • 컴퓨터의 H/W를 관리하는 프로그램. H/W = CPU, memory, storage, I/O devices를 의미
    • 응용프로그램의 수행을 제어하는 프로그램.
  2. 운영체제의 위치
    • 응용프로그램과 컴퓨터 하드웨어 사이에 위치
  3. 운영체제의 목적
    • 사용자의 프로그램을 실행
    • 컴퓨터의 하드웨어(자원)를 효율적인 방법으로 활용

=> 운영체제는 resource allocator, control program이다.

댓글