웹 애플리케이션 / 서버

heyhey·2022년 12월 22일
0

network

목록 보기
11/15

웹 애플리케이션이 뭘까요?
그리고 웹 애플리케이션이 작동하기 위해 필요한 서버들을 알아보겠습니다.
각 서버에 대한 상세 내용들은 네트워크 파트에서 다시 공부해보겠습니다.

Inflearn 기업IT기초개념-쉐어드아이티 강의를 보고 작성하였습니다.

웹 애플리케이션과 서버

웹 애플리케이션 이란?
흔히 우리가 웹서비스라고 부르고 웹 브라우저를 통해 인터넷으로 접근해서 사용하는 소프트웨어입니다.

즉 http을 이용해 사용하는 것이고 매일 인터넷에 들어가서 사용하는 모든 사이트들이 포함될 것입니다.

이러한 웹서비스들은 어떻게 동작하게 되는 것일까요

동작 구조는 크게 두가지 혹은 세가지가 있습니다.

정적 콘텐츠, 동적 콘텐츠 , 그 두개를 묶은 정적+동적 콘텐츠가 있습니다.

정적 콘텐츠 (static)

누가 언제 서버에 요청하더라도 동일한 내용이 보여지는 콘텐츠입니다.
준비해놓은 콘텐츠를 제공하는 것으로, 나무위키 를 생각해보면 쉬울 것 같네요

동적 콘텐츠 (dynamic)

누가 언제 어떻게 서버에 요청했는지에 따라 각각 다른 내용이 보여지는 콘텐츠입니다.

유튜브는 로그인 하는 유저마다 다른 알고리즘 추천 영상이 띄워지는데, 그런 것을 동적 콘텐츠라고 할 수 있겠습니다.

정적 콘텐츠 + 동적 콘텐츠

현재의 대다수 웹 애플리케이션이 이 구조일 것입니다. 정정인 콘텐츠 위에 동적 콘텐츠가 섞인 서비스입니다.

네이버 로고, 배너 , 검색창 위치 등은 누구나 똑같이 보일 것입니다.

하지만 뉴스 내용, 광고 내용은 모두가 다른 화면을 보게 되는 구조가 이 구조라고 할 수 있습니다.


그렇다면 이런 웹 애플리케이션을 구동하기 위해서는 어떤 서버들이 필요할까요?

어떻게 요청을 하고 서버에서는 어떻게 응답을 줄까요?

웹 애플리케이션 구동을 위한 서버들

웹서버

가장 간단한 구조로, 정적 콘텐츠를 제공해주는 서버입니다.

클라이언트부터 서버로 요청을 해 응답 받아 볼 때까지 순서로는

  1. 클라이언트의 요청

  2. 서버에서의 콘텐츠 탐색

  3. 탐색한 콘텐츠를 응답

  4. 클라이언트에서 받은 데이터 조회

  5. 서버에서 로그 기록

와 같이 진행됩니다.

웹 애플리케이션 서버

웹 서버와 비슷하지만 사용자의 정보를 조회해 동적콘텐츠를 제공합니다.

요청과 응답 사이에 웹 서버에서 애플리케이션 서버로의 조회 가 한번 더 이루어집니다.

DB 서버

응용프로그램들의 데이터들을 제공해줄 수 있는 서버입니다. 데이터 베이스를 사용할 경우에 사용합니다.

애플리케이션 서버에서 필요한 데이터를 DB 서버로 요청해서 받아서 사용할 수 있습니다.

리버스 프록시 서버

reverse proxy server - 뒤에서 데이터를 대신 전달해주는 서버라고 번역할 수 있습니다.

혹은 방향이나 목적지를 변경해준다고 도 이해할 수 있습니다.

이 리버스 프록시 서버를 이용해야만 dmz 존 (보안영역) 에 들어갈 수 있습니다.

클라이언트에서 웹 서버로 요청을 보내면 리버스 프록시 서버를 거쳐 애플리케이션 서버에서 데이터를 조회가 가능합니다.

캐시 서버

포워드 프록시 서버라고도 불립니다.

forward proxy server - 앞에서 대신 전달해주는 서버로

이미 응답해준 데이터를 저장해 뒀다가 동일한 요청이 접수되면 저장한 데이터로 응답하는 기능입니다.

클라이언트 입장에서는 한번 했던 요청에 대해서는 빠른 응답을 받을 수 있습니다.

로드 밸런서

클라이언트와 웹서버 사이에 있는 하드웨어입니다.
한번에 여러 요청이 들어오지 못하도록 로드 밸런서가 줄을 새워 , 차례대로 처리해주는 역할을 해줍니다.

지금까지 서버가 하난줄만 알았었는데.. 많은 서버가 존재해서 놀랬습니다.
네트워크 공부를 하면서 서버에 대해서 조금씩 더 공부를 해야겠습니다 😄

profile
주경야독

0개의 댓글