웹 서버를 구축을 하는것은 컴퓨터에 웹을 연동하기 위해 프로그램(웹 서버 응용프로그램)을 개발하는 것이다. 즉 웹 서버를 구축하기 위해서 "hppt"라는 프로토콜을 인지할 수 있는 소프트웨어(웹 서버 소프트웨어)가 있어야 한다. 또한 클라이언트에서 요청한 요구사항들을 내포하고 있고, 데이터를 처리 할 수 있는 웹 서버 응용프로그램이 필요하다. 우리가 흔히 백엔드 개발을 한다는것은 웹 서버 응용프로그램을 개발한다는 것이다.
데이터의 종류에는 여러가지가 있는데 크게 두가지로 나뉜다. web 문서와 전자문서다. web문서는 데이터를 로딩해서 가져오는 문서고, 전자 문서는 컴퓨터에서 자체적으로 수행 가능한 문서다(ex: 메모장).
이러한 데이터(web 문서, 전자문서..)들을 관리하기 위해 데이터베이스를 사용한다.
즉 흔히 웹서버(백엔드)를 개발한다는 것은 여러가지 기술들을 개발한다는것이다. 기업들의 백엔드 부트캠프 같은걸 모집할 때 코딩 테스트로 HTML,CSS, Database, 알고리즘 을 테스트로 보는것을 보면 백엔드 개발 하나를 하는데 여러가지 기술들이 들어간다는걸 알 수 있다.
웹 서버와 웹 브라우저가 서로 요청과 전송을 할때 "파일"을 보내며, 이를 해석해서 결과를 출력한다.
웹 서버 소프트웨어
웹 브라우저의 요청을 해석해서 필요한 웹 서버 응용프로그램을 작동시킨다. 그리고 웹 서버 응용프로그램의 실행결과를 웹 브라우저로 전송한다.
ex) Apach, IIS ,GWS
웹 서버 응용프로그램
웹 사이트의 목적을 이행하는 프로그램이다.
ex) 검색 사이트의 검색엔진, 번역 사이트의 번역프로그램 등등..
WAS(Web Application Server)
web server+ web container 를 합쳐서 WAS라 한다.WAS에서 클라이언트(웹 서버)의 요청(파일)을 받고 웹서버가 이를 해석해서 webcontainer내의 적절한 jsp파일을 실행 시킨 후 webcontainer는 실행 결과를 웹 서버에 보낸다. 이 결과를 바탕으로 웹 서버는 데이터 베이스나 html file을 클라이언트에게 보낸다.
Web Container
jsp를 실행시키기 위한 jsp엔진과 servlet, 그리고 jsp파일이 들어가 있다.
jsp engine ex) tomcat
tomcat은 서버프로그램이지만, jsp 엔진을 내포하고 있다.
'Web' 카테고리의 다른 글
npm start시 발생 오류:code: 'MODULE_NOT_FOUND' (0) | 2021.02.06 |
---|---|
Junit 테스트코드 메소드 (0) | 2021.02.03 |
Junit5에서의 @Before (0) | 2021.02.02 |
java.sql.SQLSyntaxErrorException: Unknown column ' OOO ' in 'field list' 오류 (0) | 2021.01.23 |
네이버 메인 기본구조 제작(1) (0) | 2020.08.06 |