일단 이 Web에 대해 자세히 알지 못하고 어 난 Web개발자가 될거야! 어 난 Server개발자가 될거야 Back-end개발자가 될거야! 라고 말했던 내 자신을 반성하며 ....... 긁젉긁젉

 

널널한개발자 강의+우아한 테크코스 10분 테크톡 + 얄팍한 코딩사전 유튜브를 보고 공부한 내용을 적어 놓은것입니다.

 

먼저 전에 Client단에서의 Resource들의 구문분석을 위한 Parser, 그리고 랜더링 엔진 css, 동적 html제어를 위한 Script엔진 js까지 이렇게 Client단에 대해서 배웠고 Server에서는 Resource를 response 해주는 역할을하며 동시에 어떠한 제어장치를 통해 Database와 연동을하고 안에서 연산을 제어한다. 이제 우린 그 Database와 Server사이에 있는 WAS에 대해서 알아볼 것이다. 

 

요새 개발자들 채용공고를 보는데 was에 대한 내용이 많이 나온다. 나는 그냥 서버단의 일부분 아니야? 라고 생각했지만 어림도 없지 ㅋㅋ 

일단 정의부터 확인해보자

Web

-인터넷을 기반으로 한 정보를 공유, 검색할 수 있게 하는 서비스 

-URL(주소) + Http + HTML 이런 구조가 얽히섥히얽섥 거미줄처럼 이어져 있는 것.

 

Browser

-웹사이트가 돌아가는 프로세스 ex 크롬 서버에서 받는 html,css,사진 등을 읽을 수 있음. 

Server

-클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 컴퓨터 시스템

 

Web + Server? -> 인터넷을 기반으로 클라이언트에게 웹 서비스를 제공하는 콤퓨타!

 

하지만 전에 말했듯이 이 두개만있다면 정적인 컨텐츠들밖에 데이터 교환을 못한다. 클라이언트단에서는 웹서버에게 주소(url)를 가지고 통신규칙(http)에 맞게 요청하면 알맞은 내용(html)을 응답 받고 서버는 클라이언트의 요청을 기다리고, 웹 요청(http)에 대한 데이터를 만들어서 응답. 이때 컨텐츠 즉 데이터들은 처리할 수 있는 html, css, 사진 이런 정적인 데이터로 한정.

좀 데이터들을 좀 연산도해보고 좀 요리조리 바꾸고 싶은데 방법이 없을까? 아  html로 해야겠다. 라는 편협한 생각 html은 언어가 아니다. ㅋ 하지만 무적 JAVA는 프로그래밍 언어이다. 그래서 생긴 것이 was이다

 

WAS(Web Application Server)

언어 정리 먼저

Web Application: 웹에서 실행되는 응용 프로그램 그저 정적인 화면이 아닌.. 응용 확장된 

Was- 웹/앱과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임웤, 웹/앱을 실행시켜 필요한 기능을 수행하고 그 결과를 웹 서버에게 전달.

 

전에 Spring으로 작업할 때 프론트단에서 신체정보를 입력받아오면 그 정보를 토대로 기초대사량을 계산해주는 로직을 구현했던적이 있다. 사실 나는 Was프레임웤 품 속에서 개발을 해왔던 것 .. 그땐 그냥 비즈니스 로직 구현에만 힘 썼다. 이래서 프레임웤 사용법을 먼저 익히면 그 프레임웤의 작동원리도 모른채 그냥 비즈니스 로직 구현에만 집중하는 것 같다. 서버 뒷 쪽의 구조를 아는 사람들에게는 진짜 봄이 찾아온거겠지만, 나처럼 멋도 모르는 사람이 쓰게 되면 A+B를 모르는데 *를 하는 꼴이다.  아무튼  

 

WAS의 기능

- php, jsp와 같은 언어들을 사용해, 동적인 페이지를 생성할 수 있는 서버

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

-비즈니스 로직 수행 가능 - 웹 서버+ 웹 컨테이너 ----*컨테이너 jsp, servelet을 실행시킬 수 있는 SW

 

JAVA계열에서는 이 Was를 웹 애플리케이션 Container라고 부른다. -> 웹 애플리케이션이 배포되는 공간(스프링을 쓰는 이유: 톰캣을 통한 빠른 배포 가능)

 

작동 과정 

 

WebServer에는 우리가 아는 무료로 제공되는 아파치, iis, nginix등이 있고 

Was에는 스프링에 사용되는 톰캣, 제우스, ibm 등이 있다. 

 

결론

WebServer: 그저 정적인 resource 제공

WAS: 상황에 따라 변하는 resource를 제공 

 

etc- tomcat 사용법 

스프링으로 코딩한 웹앱을 war파일로 빌드하면 그 안에 . class파일들이랑 jsp, 이미지, css, js 파일등이 압축되어있다. 톰캣의 특정 폴더에 war파일을 넣고 명령어를 실행하면 스프링 서비스가 톰캣을 사용해서 돌게 된다. 요즘은 반대로 스프링을 톰캣이 들어있는 jar파일로 빌드해서 배포하곤 한다.

 

  client는 손님 server는 서빙직원 was는 요리사

물과 포크같은것들은 변함없는 정적인 것들로 서빙직원 혼자 할 수 있지만, 고급 요리들의 주문이 들어오면 서빙 직원을 통해 요리사 was가 요리를 해서 다시 서빙직원에게 전달해서 손님에게 가져다준다.

 

 

'3-2 > Web' 카테고리의 다른 글

[Web] Js Form Validation  (0) 2022.10.05
웹 서비스의 3대 요소  (0) 2022.09.15
초기의 웹 서비스 구조  (0) 2022.09.15
웹 서비스의 시작  (0) 2022.09.15

+ Recent posts