본문 바로가기

CS/Network

웹(WWW)의 동작 원리

728x90

목차


  • 웹의 동작 원리
  • 웹 클라이언트
  • 웹 서버
  • 웹 애플리케이션 서버 (WAS)
  • 데이터 베이스 (DB)

 

 

 

웹의 동작 원리


웹의 동작 원리를 다음과 같이 한 문장으로 정리할 수 있다.

클라이언트가 서버에 요청을 보내면 서버는 해당 요청에 대해 응답한다. 」

그리고 이 문장을 그림으로 표현하면 다음과 같다.

웹 동작 순서

사용자가 웹 브라우저의 검색창에 특정 사이트의 주소를 입력한다.

웹 브라우저DNS에게 특정 사이트의 (도메인)주소를 요청한다.

DNS가 웹 브라우저에게 사이트의 IP주소를 응답한다.

웹 브라우저가 웹 서버에게 IP 주소를 이용하여 html 문서를 요청한다.

 웹 서버는 바로 웹 페이지를 공급하지 못하고, 웹 애플리케이션 서버와 데이터 베이스에서 웹 페이지 작업처리한다.

작업 처리 결과웹 서버로 보낸다.

웹 서버는 웹 브라우저에게 html 문서 결과를 응답한다.

웹 브라우저는 화면에 웹 페이지를 출력한다.

 

 

 

웹 클라이언트


1) 웹 클라이언트란?

웹 클라이언트는 웹 서버에 자료를 요청하기 위해 http를 사용하는 클라이언트 프로그램이더.

 

2) 웹 클라이언트의 역할

어떤 서비스를 요청하는 역할과 화면에 결과물을 출력하는 역할을 한다.

웹 클라이언트가 요청하는 리소스는 컴퓨터에 저장되어 있는 정적인 데이터이거나 동적인 결과가 될 수 있다.

정적인 데이터는 이미지, HTML파일, css 파일, JavaScript 파일과 같이 컴퓨터에 저장되어 있는 파일이다.

동적인 결과는 웹 서버에 의해서 실행되는 프로그램을 통해서 만들어진 결과물이다.

 

3) 웹 클라이언트의 종류

웹 클라이언트에는 웹브라우저, 웹크롤러 등이 있다.

최근에 웹 클라이언트와 웹 브라우저를 동일하게 보는 추세이다.

나라별 가장 흔히 쓰이는 웹 브라우저 (2015)

웹 브라우저의 예시로 파이어폭스, 사파리, 구글 크롬, 인터넷 익스플로러, 오페라 등이 있다.

사진에서 초록색 = 구글 크롬, 빨간색 = 오페라, 노란색 = 파이어폭스, 파란색 = 인터넷 익스플로러 이다.

 

 

 

웹 서버


1) 웹 서버란?

웹 서버는 웹 서버 소프트웨어가 동작하는 컴퓨터를 말한다.

웹 서버의 가장 중요한 기능은 클라이언트가 요청하는 HTML문서나 각종 리소스를 전달하는 것이다.

 

2) 웹 서버 소프트웨어의 종류

가장 많이 사용되는 웹서버는 Apache, Nginx, Microsoft, Google 웹서버 이다.

 

 

 

웹 애플리케이션 서버 (WAS)


1) WAS (Web Application Server) 란?

브라우저와 DBMS(데이터 베이스 관리 시스템) 사이에서 동작하는 미들웨어이다.

여기서 미들웨어란, 클라이언트와 DBMS 사이에서 중개 역할을 하는 소프트웨어를 말한다.

클라이언트는 단순히 미들웨어에게 요청을 보내고, 미들웨어에서는 대부분의 로직을 수행한다.

데이터를 조작할 일이 있으면 미들웨어가 DBMS에 접속하기도 한다.

 

2) WAS 의 기능

WAS가 가지는 중요한 3가지 기능이있다.

프로그램 실행 환경과 데이터 베이스 접속 기능을 제공한다.

② 여러 개의 트랙잭션을 관리한다.

③ 업무를 처리하는 비즈니스 로직을 수행한다.

 

이외에 웹 서버를 제공하는 기능도 한다.

추가로, 트랙잭션이란 논리적인 작업 단위이다.

 

 

 

데이터 베이스 (DB)


데이터베이스데이터의 정보를 저장하는 곳이며, WAS에서 데이터를 요청하면 필요한 데이터를 응답한다.

더 자세히 설명하면, WAS에서 로직을 수행하다가 DB접근이 필요하면 SQL질의를 통해 데이터를 요청한다.

그러면 DB는 요청사항에 맞는 응답을 보낸다. 

반대로 WAS에서 DB에게 해당 내용을 저장하게끔 요청하면, DB는 그 내용을 정리하여 저장한다.

 

 

 

 


위 글은 edwith의 < [부스트 코스] 웹 프로그래밍 > 강의 시청과 자료 조사를 통해 공부한 내용을 작성한 것 입니다.

내용상 오류가 있다면 댓글로 적어주세요. 🖐