[웹에대한 큰그림을 그려보자]




생산자                    소비자

*웹서버                   브라우저

백엔드                  프론트엔드


< 백엔드 >

시스템의 구축, 내부로직, 데이터베이스설계, 데이터의 처리 등을 담당 

< 프론트엔드 > 

사용자나 혹은 다른 프로그램과의 인터페이스(GUI)

< JSP (자바) > 

< HTML >

< Node.JS >

< CSS > 

< PHP >

< JAVA Script >

 < ASP.net >

 

 < django(py) >

 





참고1)

HTML = 문서의 내용과 뼈대

CSS = 디자인 적인 요소를 추가

JAVA Scrpt = 문서안에서 동적인 요소를 만들어주는 역할. (실시간검색어 서버통신을 말하는 것이 아님)


참고2)

통상 우리가 지칭하는 프로그래밍 언어를 JAVA Script라고 생각 할 수 있다.

현재 웹을 CSS만으로 해도 구현을 할 수 있다. 

그렇지만 우선 Java Script를 통해 만드는 법을 알고나서 다른 것을 통해 만들어라

(다른 좋은 언어들 보다 C를 먼저 배우는 이유와 비슷하다고 생각, 역사를 알아야 미래를 만들 수 있다.)




[ *웹서버는 한가지가 아니다!!!! ]


웹서버라는 것을


웹서버와 WAS(웹어플리케이션서버) 로 나누어 생각해 볼 수 있다.  

 

우리가 흔히 보는 웹창을 보게되면 정적인 부분과 동적인 부분을 볼 수 있는데.


웹의 부분

정적인 부분 :

 틀, 베너, 로그인 창 틀, favicon.ico(아이콘), CSS(속성)

동적인 부분 :  (WAS 서버이용)

 로그인 창 틀안에 내용, 실시간 검색어 변화



정적인 부분은 응답받은 것을 처리만 해주면 되지만

동적인 부분은 언어를 사용해 WAS서버를 이용해서 처리를 해주게 된다. 


현재 보통의 웹페이지에서는 웹서버랑 WAS서버를 동시에 같이 사용하는데 

동시에 같이 사용한다는 것을 소스 보기를 통해 ( 크롬 기준 F12버튼 누르면 나온다. ) 확인해볼 수 있다. 



www.naver.com 의 메인화면의 소스를 확인해본 결과이고, 

위와같이 static을 사용해서 그림파일의 주소를 가리키고 있다는 것을 확인 할 수 있다. 

(그림파일을 따로 처리하는 서버를 두고 처리한다는 것을 유추해 볼 수 있다.)


이렇게 서버를 연동해서 사용하는 이유는 처리속도를 높일 수 있기 때문이다. 


WAS서버 하나로 정적인 부분까지 함께 처리를 해줄 수 도 있다. 

하지만 이렇게 하는 것은 매우 비효율적이다. 

일반적으로 아파치와 같은 웹 서버는 정적인 동작을 처리하는 데 초점이 맞춰져 있고, 

WAS서버는 JSP, 서플릿과 같은 프로그램을 실행하여 결과를 제공하는 데 초점이 맞춰져 있기 때문이다.  



브라우저가 웹서버로부터 웹페이지를 전달받는 것을 확인해 보면 더욱 이해가 쉬울 것이다. 


출처 : http://genesis8.tistory.com/231 참고

웹서버

웹 브라우저의 요청을 받아 알맞은 결과를 웹 브라우저에 전송

만약 프로그램의 처리가 필요하다면 WAS서버를 이용하거나 프로그램을 직접 호출하여 결과를 생성한다. 

주로 정적인 HTML, CSS, 이미지 자바 스크립트를 웹 브라우저에 제공할 때 웹 서버를 사용한다.

(아파치)

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

게시글 목록, 로그인 처리와 같은 기능을 실행(처리) 하고 그 결과를 응답으로 웹 서버에 전달한다. 

(톰켓, 웹로직, JBOSS 등) , ASP 등이 포함된다.

데이터베이스 

웹 어플리케이션이 필요로 하는 데이터를 저장한다. (오라클,  MySQL, MS-SQL 등)

웹브라우저 

웹 서버에 서비스 실행을 요청하며 웹 서버의 처리 결과를 사용자에게 보여준다. (익스플로러, 크롬 등)



 

+ Recent posts