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 요청 구성요소
- http method
- 실행할 액션을 의미
- 접근 url
- form parameter
HTTP 응답 구성요소
- 상태 코드
- 요청의 성공 여부
- content-type
- 텍스트, 그림, html …
- 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 응답
구성요소
- header
- 사용된 프로토콜
- 요청의 성공여부 (상태코드)
- 몸체에 포함된 contents의 종류
- body
- contents ( html, jpeg, pdf … )
Content-type (MIME type)
response body에 포함된 내용의 type
6. 진행흐름
- 사용자 웹 브라우져를 이용하여 url 검색
- 웹 브라우져는 http를 get방식으로 서버에 전달
- 서버는 요청된 자료를 찾고 그 자료를 바탕으로 http를 작성
- 서버는 웹 크라이언트에게 http 응답을 보냄
- 웹 브라우져는 http 응답을 해석하고 화면에 보여줌
- 사용자는 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의 요청, 응답만 할 수 있다.
따라서 서버 내 정적인 페이지를 찾아서 클라이언트에게 전달할 뿐이다.
웹 서버가 못하는 일
- 동적 컨텐츠 생성
- 서버 내부에 데이터 저장
즉, 웹 서버의 능력 밖의 일을 요청할 경우 그 일을 할 수 있는 다른 어플리케이션에게 작업을 요청
CGI (Common Gateway Interface)
웹 서버가 못하는 일을 처리해 줄 수 있는 도우미 어플리케이션을 의미
- 사용자는 cgi 프로그램에 대한 url 클릭
- 웹 서버는 사용자의 요청을 이해하고 해당 프로그램을 실행
- 해당 프로그램은 실행된 결과를 html문서로 작성하고 웹 서버에 전달
- 웹 서버가 요청받은 시점에 해당 문서는 정적인 html 문서
- 클라이언트는 html 문서를 전달받고 화면에 출력
9. Servlet
servlet 또한 웹 서버의 도우미 어플리케이션
JSP
java코드와 html코드를 분리하기 위한 Servlet의 보완 기술
Written with Dec7.
댓글 없음:
댓글 쓰기