1장. 웹 애플리케이션이란 무엇인가?
- 데스크톱 어플리케이션 --> 웹 어플리케이션으로 진화
- 처리 주체: 자신의 PC --> 서버 PC
- 화면 표시: OS상에서 표시 --> 웹 브라우저에서 표시
- 설피: 필요 --> 불필요
2장. 웹은 어떻게 발전했는가?
- HTML의 등장
- HyperText를 통해 자료를 네트워크를 경유해 자료들을 공유할 수 있음
- 웹 브라우저의 등장
- 텍스트 중심의 브라우저에서 문자/그림을 함께 표현한 NCSA 모자이크 웹 브라우저 등장
- 웹 서버의 발명
- 오픈소스로 공개된 아파치 HTTP 서버와 MS IIS를 널리 사용
- 컨텐츠를 한 곳에서 관리하는 것이 편함
- URL
- 클라이언트가 "어디 어디에 있는 콘텐츠를 읽고 싶다" 지정할 방법이 필요
- 이 같은 생각으로 인터넷 상의 컨텐츠를 고유하게 지정하기 위한 구조가 URL
- URL: 리소스의 위치를 지정하는 통일된 기술 방법
- URL 구조
- 예시) http://(스킴)www.wikibook.co.kr(호스트명)/webtext/index.html(경로명)
- 스킴: 리소스를 취득하기 위한 방법
- 호스트명: 호스트 컴퓨터의 이름
- 경로명: 호스트명에서 지정된 컴퓨터상의 리소스 위치
- HTTP 프로토콜
- 웹 서버 <-> 웹 클라이언트의 공통 통신 양식
- HTML 전송에 적합한 프로토콜
- CGI의 탄생 & 몰락
- Common Gateway Interface
- 서버에서 정적 웹페이지를 저장했다가 클라이언트의 요청에 따라 반환하기만 했음
- 동적인 웹 페이지의 수요 증가
- 클라이언트의 요청을 받아서 서버의 프로그램에게 넘겨주고, 서버의 프로그램이 동적 웹 페이지 생성하도록 함
- 해당 역할을 Perl, C언어로 개발
- 하지만, 필요한 프로그램의 규모가 커지면서 Perl로 프로그램 제작 한계에 부딪힘
- 또한, 클라이언트 요청 도착할 때마다 프로세스 생성했는데, 이는 굉장히 비싼 작업임
- 서블릿의 등장
- CGI와 같은 개념이지만, 콘텐츠 생성하는 언어가 자바
- 자바는 객체 지향이라 대규모 어플리케이션 개발 용이
- 웹 서버와 같은 프로세스 속에서 콘텐츠 생성이 가능!
- JVM으로 플랫폼 독립적임
- 서블릿의 몰락
- 어떠한 HTML 페이지가 출력될 지 예측이 힘듦
- HTML 디자인 변경할 때에도 수정이 힘듦
- 웹 디자이너와 개발자 사이의 협업이 힘듦!
- JSP의 등장
- HTML에서 동적으로 출력하고 싶은 부분을 <% ,%>로 묶을 수 있음
- HTML 속에 자바 코드를 넣음!
- 웹 프레임워크의 등장
- JSP, 서블릿 모두 대규모 웹 개발에는 적용 X
- 코드 너무 많이 작성해야함
- 재사용을 많이 가능하게 하는 코드의 수요 발생
- 웹 프레임워크의 개발로 이어짐
- 프레임워크를 토대로 필요한 기능만 만들어 나가면, 단기간안에 어플리케이션 개발 가능!