웹 프로그램 이란?
인터넷 서비스를 이용해서 서로 다른 구성요소들(PC 등)이 통신할 수 있는 프로그램
Java를 사용할 경우 JSP, Servlet을 사용한다
프로토콜(Protocol)과 IP
통신을 하기 위한 규약으로 HTTP, FTP, SMTP, POP 등이 있다
DNS 또는 Domain Name System
: 사람이 읽을 수 있는 도메인 이름(예: www.naver.com)을 머신이 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환한 것이다
DNS를 사용함으로써 사용자는 네이버의 IP주소를 외우고 있을 필요가 없다!!
웹 프로그램의 동작 원리
정적 웹 페이지
서버에 미리 저장된 파일(HTML 파일 또는 이미지, JavaScript 등)이 그대로 전달되는 웹 페이지
서버는 사용자의 요청(Request)에 해당하는 미리 저장된 웹 페이지를 보낸다
사용자는 서버에 저장된 데이터가 변경되는 않는 한 고정된 웹페이지를 본다
정적 웹 페이지 호출 과정
- 클라이언트가 웹서버에 정보 요청
- 웹서버는 해당하는 정보 조회
- 조회된 정보 응답
- 브라우저가 서버로부터 받은 데이터를 해석하여 사용자에게 보여준다
장점
-
빠르다: 요청에 대한 파일만 전송, 추가적인 작업 필요 없음
-
저비용: 웹 서버만 구축하면 됨
단점
-
서비스가 한정적이다: 저장된 정보만 보여줄 수 있음
-
관리가 힘들다: 추가/수정/삭제의 작업을 수동으로 한다
동적 웹 페이지
서버에 있는 데이터들을 스크립트에 의해 가공 처리한 후 생성되어 전달되는 웹 페이지
서버는 사용자의 요청(Request)을 해석하여 데이터를 가공한 후 생성되는 웹 페이지를 보낸다
사용자는 상황, 시간, 요청 등에 따라 달라지는 웹 페이지를 본다
동적 웹 페이지 호출 과정
- 클라이언트가 웹서버에 정보 요청
- 웹서버가 WAS에 클라이언트의 요청대로 처리하도록 지시
- 구현된 로직 또는 연결된 디비와 통신을 통해 요청 값 처리
- 처리된 결과를 정적인 형태로 웹서버에 반환
- WAS로부터 받은 결과를 가공하여 응답
- 브라우저가 웹서버로부터 받은 데이터를 해석하여 사용자에게 보여준다
장점
- 서비스가 다양하다: 다양한 정보를 조합하여 동적으로 생성된 정보 제공 가능
- 관리가 쉽다: 웹 사이트 구조에 따라서 추가/수정/삭제 등의 작업이 용이하다
단점
- 상대적으로 느리다: 사용자에게 웹페이지를 전달하기 전에 처리하는 작업 필요
- 고비용: 웹 서버 외에 추가적으로 처리를 위한 애플리케이션 서버(Web Application Server)가 필요
참고
'Study > Java' 카테고리의 다른 글
[Java/JSP] Servlet 맵핑 (0) | 2020.07.08 |
---|---|
[Java/JSP] JSP & Servlet 이란 (0) | 2020.07.04 |
[Java] 네트워킹 (Socket, 양방향 통신) (0) | 2020.07.04 |
[Java] 입력과 출력 (0) | 2020.07.04 |
[Java] 예외처리 Exception, Error (이것만 알면 된다!!) (0) | 2020.07.04 |
댓글