웹 애플리케이션 / 서버

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

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

 

웹 애플리케이션과 서버 

웹 애플리케이션 이란?

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

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

 

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

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

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


정적 콘텐츠 (static) 

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

 

동적 콘텐츠 (dynamic)

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

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

정적 콘텐츠 + 동적 콘텐츠 

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

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

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

 

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

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


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

 

웹서버

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

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

1. 클라이언트의 요청

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

3. 탐색한 콘텐츠를 응답 

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

5. 서버에서 로그 기록 

와 같이 진행됩니다. 

 

웹 애플리케이션 서버

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

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

DB 서버 

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

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

리버스 프록시 서버

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

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

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

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

 



캐시 서버 

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

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

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

 

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



로드 밸런서

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

 

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

 

'Network' 카테고리의 다른 글

네트워크 기초 단어 정리  (0) 2022.09.13
Web 기초 지식 - URI HTTP  (1) 2022.09.13

+ Recent posts