브라우저가 서버에 페이지를 요청할때, 맨 앞단에서 html, css 와 같은 정적인 내용에 대해 응답함
하지만 동적인 처리가 요구된다면, WAS 에게 패스한다.
=> DB에 접근해야 하거나 뭔가 처리를 해야하는 동직인 컨텐츠인 경우
종류 : apache, ngnix (apcache에 이어서, 요즘은 nginx 라는 웹서버가 더 빠른 속도를 무기로 절대강자 라이벌이 되었다고 한다!)
동적인 내용을 처리한다. 즉, DB에 접근하거나 어떤 로직을 처리해야 할 경우 사용하는 것이다.
WAS가 동적인 처리를 완료하고 다시 WS 에게 결과를 전해주고, WS 가 다시 클라리언트에게 돌려주면 그제서야 우리는 원하는 결과물을 얻을 수 있다!
종류 : tomcat, Spring, node, django, PHP
cf) 정적인 데이터 처리를 위해서 굳이 Tomcat(WAS) 앞에 아파치(WS) 를 두는게 관리 부담과 불필요한 과부하만 생길 수 있다고 한다.
하나의 웹 서버에서 다른 언어의 어플리케이션을 함께 사용할 경우
특정 서버에서 에러/과부하가 발생할 경우 다른 서버가 정상 작동
보안을 강화할 경우 - 아파치(WS)에서 해킹 당해도 WAS 는 정상 작동
OS : 사용자가 컴퓨터를 사용하기 위해 필요한 소프트웨어.
우리가 일반적으로 컴퓨터를 사용하면서 실행한 모든 프로그램들은 운영채제에서 관리하고 제어한다.
OS 종류 : Window, Uni, Linux, MS-DOS 등
요약 : 운영체제는 컴퓨터의 성능을 높이고(performance), 사용자에게 편의성 제공(convenience) 를 목적으로 하는 컴퓨터 하드웨어 관리 프로그램이다.
1) 컴퓨터의 하드웨어를 관리하는 것
=> 컴퓨터에는 수많은 하드웨어가 존재한다. CPU, 메모리, 디스크, 키보드, 마우스, 네트워크 등이 있으며 이를 잘 관리해줘야 컴퓨터를 효율적으로 관리할 수 있다. 운영체제의 성능이 좋을수록 컴퓨터의 성능 역시 좋아진다고 할 수 있다.
2) 사용자에게 편의를 제공하는 목적
=> 운영체제가 없다면 하드웨어에 관한 모든 관리를 사용자가 해야한다는 점과 함꼐 불편함을 걲을 수 있다.
커널(kernal) + 명령어 해석기(Command Interpreter, shell)
사용자가 GUI 나 CLI 와 같은 방식으로 운영체제에 명령을 요청할 수 있다.
ex. 현재 디렉토리의 파일 리스트 불러오기, 프로그램 실행하기, 디스크 용량 확인 등
위처럼 애플리케이션은 운영체제 위에서 수행된다. 즉, 하드웨어 자원을 직접적으로 사용하지 않고 운영체제가 제공하는 자원만을 사용할 수 있다.
1) 프로세스, 메모리, 하드디스트 중 하드웨어 자원이 존재하고, 이를 효율적으로 사용하도록 한다
2) 자원 곤리를 위해 프로세스 관리, 메모리 관리, 디스크 관리, 네트워크, 보안 등 기능이 나눠져 있다
3) 애플리케이션들의 요청에 따라 각 기능들이 수행하며 적절히 자원을 분배한다.
글자의 입출력을 통해 사용자와 컴퓨터 간에 소통하는 방식
(ex. 윈도우의 cmd, 리눅스의 터미널)
- 명령어를 입력해서 파일을 열람하고, 복사, 수정, 삭제하는 등의 기능을 수행한다.
- 화려한 화면이 없는만큼, 컴퓨터의 자원을 적게 사용한다.
예시) cd c:\user\hi\abcd.txt
=> abcd.txt 파일로 이동하기 위한 명령어로, 마우스가 있다면 편하게 이동하면 되지만 CLI 에서는 이렇게 글자를 타이핑 쳐야 한다는 불편함이 있지만 CLI 방식은 여전히 많이 사용된다. (컴퓨터 자원 절약이라는 장점때문에)
그래픽을 이용해 사용자와 소통하는 방식
- 그래픽으로 전달되는 그림이나, 아이콘을 통해서 소통한다.
ex. 마우스로 화면에 나오는 그림을을 끌어다놓거나, 클릭해서 컴퓨터와 소통
(cf. 통신 프로토콜 : 컴퓨터나 원거리 통신장비 사이에서 메시지를 주고받는 양식과 규칙의 체계)
HTTP 를 통해 전달되는 자료는 http: 로 시작하는 URL 로 조회할 수 있다.
HTTP 메서드 종류 : GET, POST, DELETE, PUT, PATCH 등
RestFul API 를 개발하여 클라이언트와 HTTP 통신을 한다. (일반 로컬환경에서는 rendering 하는 방식으로 HTTP 메서드 사용가능 )