2014년 4월 5일 토요일

[Servlet/Jsp] headFirst - Ch1 - 개론


0. 환경

macbook-pro 13” 2012 mid / 10GB
tomcat7
교재: Head First Servlet/Jsp, 한빛미디어, 2012


1. 학습목표

Http method

1) http method 장점
2) http method 기능
3) 각 메소드간 클라이언트에서 일어나는 일


2. 주체간 하는 일

웹 서버

물리적 하드웨어
서버 어플리케이션 소프트웨어

클라이언트

웹 브라우져
사용자의 요청을 서버에 전달
서버로부터 응답을 받음 ( html파일, 소리파일, 그림파일… )
HTML 코드를 읽고 화면에 출력


3. HTTP

언어

서버: 요청을 받고 응답을 할 수 있는
클라이언트: 요청을 보내고, 응답을 사용자에게 보여줄 수 있는

즉 요청과 응답을 할 수 있는 서버와 클라이언트간 공통된 언어가 필요

HTTP

HTTP (hyper text transfer protocal)로 웹 상에서 클라이언트와 서버가 서로 대화하기 위한 규약
즉, 서버는 클라이언트에게 html 문서를 전달하기 위해 HTTP를 사용

  • TCP/IP 기반으로 동작

HTTP 요청 구성요소

  1. http method
    • 실행할 액션을 의미
  2. 접근 url
  3. form parameter

HTTP 응답 구성요소

  1. 상태 코드
    • 요청의 성공 여부
  2. content-type
    • 텍스트, 그림, html …
  3. contents

따라서, HTML은 HTTP응답의 일부


4. HTTP 요청

HTTP method

종류: get, post, head, trace, put, delete, connect

GET

  • 단순하게 서버에게 자원을 요청
  • 자원은 html, jpeg, pdf와 같은 file
  • 서버에게 돌려받다 (Get back)는 의미를 가짐

POST

  • GET보다 강력
  • 자원을 요청할 때 필요한 정보도 함께 전달

GET과 POST 차이점

  • GET은 보낼 수 있는 글자 수 제한
  • GET은 url로 데이터를 전달하여 보안에 취약
  • GET은 url로 자원을 요청할 수 있으므로 즐겨찾기 등록 가능

5. HTTP 응답

구성요소

  1. header
    • 사용된 프로토콜
    • 요청의 성공여부 (상태코드)
    • 몸체에 포함된 contents의 종류
  2. body
    • contents ( html, jpeg, pdf … )

Content-type (MIME type)

response body에 포함된 내용의 type


6. 진행흐름

  1. 사용자 웹 브라우져를 이용하여 url 검색
  2. 웹 브라우져는 http를 get방식으로 서버에 전달
  3. 서버는 요청된 자료를 찾고 그 자료를 바탕으로 http를 작성
  4. 서버는 웹 크라이언트에게 http 응답을 보냄
  5. 웹 브라우져는 http 응답을 해석하고 화면에 보여줌
  6. 사용자는 happy

7. url

URL (Uniform Resource Locators)은 웹 상에서 존재하는 모든 자원에게 이름을 부여하는 방식

http://www.abc.com:80/nice/to/meet/you.htm

http://

서버와 대화하기 위한 protocal 명시

www.abc.com

도메인
서버를 찾기 위한 이름
DNS 서버를 통해 특정 IP로 연결됨
host라고 부르며(호스트명)

:80

port를 의미하고 80은 웹 서비스를 위한 기본 port로 생략가능
포트는 어떤 컴퓨터의 다양한 프로그램 중 특정 어플리케이션을 찾기 위해 사용됨 (정확한 의미는 아님)
16bit 숫자 값으로 0~65535를 사용가능

/nice/to/meet/

서버에서 자원의 위치

you.htm

요청된 콘텐츠 이름


8. 웹 서버

웹 서버 (Apache-httpd)는 http의 요청, 응답만 할 수 있다.
따라서 서버 내 정적인 페이지를 찾아서 클라이언트에게 전달할 뿐이다.

웹 서버가 못하는 일

  1. 동적 컨텐츠 생성
  2. 서버 내부에 데이터 저장

즉, 웹 서버의 능력 밖의 일을 요청할 경우 그 일을 할 수 있는 다른 어플리케이션에게 작업을 요청

CGI (Common Gateway Interface)

웹 서버가 못하는 일을 처리해 줄 수 있는 도우미 어플리케이션을 의미

  1. 사용자는 cgi 프로그램에 대한 url 클릭
  2. 웹 서버는 사용자의 요청을 이해하고 해당 프로그램을 실행
  3. 해당 프로그램은 실행된 결과를 html문서로 작성하고 웹 서버에 전달
    • 웹 서버가 요청받은 시점에 해당 문서는 정적인 html 문서
  4. 클라이언트는 html 문서를 전달받고 화면에 출력

9. Servlet

servlet 또한 웹 서버의 도우미 어플리케이션

JSP

java코드와 html코드를 분리하기 위한 Servlet의 보완 기술


Written with Dec7.

댓글 없음:

댓글 쓰기