이직 준비를 시작하며 비전공자이기 때문에 CS(Computer Science) 지식도 알고 있어야 한다고 생각한다...
롤이나 스타크래프트 할 때만 컴퓨터를 많이 만졌지 막상 웹 개발을 해야지 하고 컴퓨터를 보니 내가 컴퓨터에 대해 무지하다는 것을 새삼스레 깨달았다 ㅎㅎ 앞으로 시간 날 때마다 CS를 공부하여 정리해야겠다.
틀린 내용이 있거나 부실한 내용이 있다면 댓글부탁드립니다 ㅠㅠ
◆ Web Server
-.Web : 인터넷을 기반으로 한 정보를 공유, 검색할 수 있게 하는 서비스
-. Server : 클라이언트에게 네트워크를 통해 정보나 서비스를 제공하는 시스템
-. 클라이언트가 서버에 페이지 요청 시 정적 컨텐츠를 제공하는 서버를 뜻한다 (정적 콘텐츠 ex. html, png, css 등)
-. 동작을 살펴보면, 주소(URL)를 가지고, 통신 규칙(HTTP)에 맞게 요청하면 내용(html 등 정적 콘텐츠)을 응답받는다
-. 대표적으로 Apache, nginx,
◆ WAS(Web Application Server)
-. Web Application : 웹에서 실행되는 응용 프로그램
-. 정적 콘텐츠뿐만 아닌 동적 컨텐츠를 제공하기 위해 만들어진 서버이다.
-. Web Application과 서버 환경을 만들어 동작시키는 기능을 제공하는 소프트웨어 프레임워크
(주로 데이터베이스(DB) 서버와 같이 수행된다)
-. 동작을 살펴보면, Web Application을 실행시켜 필요한 기능을 수행하고 그 결과를 웹서버에 전달시켜 준다.
-. 대표적으로 JSP, Servlet, Tomcat, Jeus
◆ 정리
-. Web Server와 WAS의 가장 큰 차이는 어떤 타입의 콘텐츠를 제공하는가이다.
-. 위 설명만 보면 WAS만 써도 될 것처럼 보이지만 Web Server를 사용하는 이유가 있다.
1. WAS로 정적 컨텐츠까지 처리하게 하면 부하가 걸린다 → WAS 앞에 웹서버를 둬서 정적인 동작을 웹서버에서 처리하게 하고 WAS는 동적 콘텐츠를 수행하게 해야 부하가 줄어든다.
2. 클라이언트와 WAS가 직접 연결되어있으면 WAS 내부의 설정 파일들이 외부에 노출된다.
-. Web Server를 WAS앞에 배치하여 WAS들이 Web Server에 플러그인하는 형태로 설정하면 효율적 분산처리 가능
'지식의 협곡 > CS & AI' 카테고리의 다른 글
RESTful API (0) | 2021.05.23 |
---|---|
오픈소스 라이선스 (0) | 2021.05.20 |
API (0) | 2021.05.19 |
MVC 패턴 (0) | 2021.05.17 |
Internet / WEB/HTTP/응답 과정 (0) | 2021.05.15 |
댓글