PowerPoint Template

Download Report

Transcript PowerPoint Template

HTTP : Hyper Text Transfer Protocol
DSU Computer ENG
Computer Network
99003073 서형준
99003084 신인섭
20001001 권민성
20021483 류현미
HTTP
CONTENTS – Hyper Text Transfer Protocol

HTTP 개요

HTTP Connection

HTTP Message Format

Web Caching in HTTP

참고자료 / 문헌
DSU Computer Network
HTTP
개요

HTTP 란?
 Hyper Text Transfer Protocol
 World Wide Web( WWW )의 분산되어 있는 Server와
Client 간에 Hypertext를 이용한 정보교환이 가능하도
록 하는 통신 규약
 1989년 Tim Berners Lee가 처음 설계
 Internet 기반에서 Hypermedia의 광역적인 정보공유
를 위한Protocol
 Data가 분산되어 있으면서 빠른 전달속도를 요구하는
System에 적합한 Hypertext를 전달하기 위한 목적
DSU Computer Network
HTTP
개요

HTTP 의 특징
 HTTP 메시지는 HTTP Server와 HTTP Client 에
의해서 해석
 TCP / IP 프로토콜의 Application 계층에 위치
 TCP Protocol을 이용한다( Default Port 80 )
 추가적인 제어 연결없이 Data만 Client와 Server
사이에서 전송
 Stateless Protocol ( 지속적인 연결상태가 아님 )
 현재 Version 1.1 ( RFC 2616 )
DSU Computer Network
HTTP
Connections

HTTP 의 연결 방식
 Stateless Protocol ( 지속적인 연결상태가 아님 )
 HTTP는 문서의 참고를 위해 고안된 단순한 프로
토콜이어서 한 번의 요구와 한 번의 응답 후에는
연결을 끊어 버림
 비 지속형 연결
 지속형 연결 ( Use Pipeline )
DSU Computer Network
HTTP
Connections : 비 지속성 연결방식

비 지속성 연결 ( Non-persistent Connections )

HTTP 1.0 이전까지의 기본연결 방식

비 지속성 연결이란 Client의 요청에 Server가 응답한
후 Client와 연결을 끊는 것을 말하는 것으로 Server는
Client의 계속적인 요청을 기다리지 않고 단 한번의 요
청만을 처리하고 그 연결을 끊는 것을 말한다.
DSU Computer Network
HTTP
Connections : 비 지속성 연결방식
비 지속형 연결방식( Non-persistent Connection )
DSU Computer Network
HTTP
Connections : 비 지속성 연결방식

문제점
• 각각의 문서 요청 때문에 매번 TCP 연결을 함으로써
전체적인 RTT의 증가.
• 매번 TCP 연결을 설립하면서 생기는 추가적인
processing overhead.
• 서버가 제공하는 서비스에 대해 사용자 인증이 필요
하다면 인증 절차를 처리함에 있어 연속적인 HTTP
메시지 교환이 생기므로 비효율성을 야기.
DSU Computer Network
HTTP
Connections : 지속성 연결방식

지속성 연결( Persistent Connections )
• HTTP 1.1 부터 지원
• 브라우저가 서버에게 HTML 문서를 처음 요청할 때 설
립된 TCP 연결을 서버가 문서를 전송하고 난 후에도
해제시키지 않고 그대로 연결된 상태로 두는 것
DSU Computer Network
HTTP
Connections : 지속성 연결방식
지속형 연결방식( Persistent Connection )
DSU Computer Network
HTTP
Connections : 지속성 연결방식

파이프라이닝( Pipe Lining )
• 하나의 TCP 연결을 통해 이루어짐
• 지속형 연결( Persistent Connection )을 통해 구현
기존 방식과 파이프라이닝 방식의 비교
DSU Computer Network
HTTP
Connections : 지속성 연결방식

파이프라이닝( Pipe Lining )
• 응답 메시지가 도착하지 않은 상태에서 연속적인 요구
메시지를 서버에 전달
• 이때 서버는 요구메시지를 수신한 순서대로 응답메시
지를 클라이언트에 전달
• 연결과 종료횟수를 줄임으로서 네트워크 자원의 절약
• 발생하는 패킷의 숫자를 감소, 네트워크 트래픽 감소
DSU Computer Network
HTTP
Message Format

HTTP Message
DSU Computer Network
HTTP
Message Format

Message 종류
 Request : 요청 Message ( Client  Server )
 Response : 응답 Message ( Server  Client )
DSU Computer Network
HTTP
Message Format – Request Message
일반헤더 | 요청헤더 |엔티티헤더
(요청 메시지)
DSU Computer Network
HTTP
Message Format – Request Message

Request Line
 요청종류 : Methods ( GET,HEAD,POST… )
 자원 (URL) : Protocol ( FTP,HTTP,TELNET… )
 HTTP Version : HTTP 1.1 ( 1.0, 0.9도 사용 )
Ex ) GET http://www.abc.co.kr:80/index.html HTTP/1.1
DSU Computer Network
HTTP
Message Format – Request Message

Request Line - Methods
 Client가 Server에게 발행하는 실제 명령 or 요청
 Method 종류
• GET
 클라이언트가 서버로부터 문자를 읽을 때
 문서검색, 응답 메시지의 본문에 문서내용 포함
• POST
 클라이언트가 문서에 대한 정보를 원할 때
 응답에 본문이 없음( GET과의 차이 )
• HEAD
 클라이언트가 서버에게 정보를 제공시 사용
 Ex) 서버에게 입력을 보낼때 사용
DSU Computer Network
HTTP
Message Format – Request Message
• PUT
 서버에 저장될 새 문서 or 교체문서를 제공시 사용
 요청된 문서에 포함, URL이 지정한 위치에 저장
• PATCH
 기존 파일의 변경사항 목록만을 포함
• COPY
 파일을 다른 위치로 복사시 사용
 원본 파일 위치는 요청라인(URL), 목적지 위치는 헤더에서 주
어짐
• MOVE
 파일 이동시 사용
 원본 파일 위치는 요청라인(URL), 목적지 위치는 헤더에서 주
어짐
DSU Computer Network
HTTP
Message Format – Request Message
• DELETE
 서버서 문서 제거시 사용
• LINK
 다른 위치로의 링크나 링크 생성시 사용
 원본 파일의 위치는 요청라인, 목적지 위치는 헤더에서 주어짐
• UNLINK
 LINK 에 의해 생성된 링크 삭제시 사용
• OPTION
 클라이언트가 서버에게 사용 가능한 옵션 질의시 사용
DSU Computer Network
HTTP
Message Format – Request Message

Request Line – URL
Ex ) http://www.abc.co.kr:80/index.html
DSU Computer Network
HTTP
Message Format – Response Message
일반헤더 | 요청헤더 |엔티티헤더
(응답 메시지)
DSU Computer Network
HTTP
Message Format – Response Message

Status Line – status code
 응답 메시지의 상태 정의
 구성요소 : HTTP 버전,공백,상태코드,공백, 상태문구
DSU Computer Network
HTTP
Message Format – Response Message

HTTP 버전 : HTTP / 1.1, 1.0

Status Code (상태코드)
Code
Error
Description
100
Continue
웹서버가 클라이언트에게 Request Message를 다 받
지 않았다는 메시지 브라우저는 안 보낸 메시지를 다
보내야 함
200
OK
요청이 성공했을때
400
Bad
Request
잘못된 문법으로 인해 요청을 이해 할 수 없을때
403
Forbidden
요청을 거부 할 때
404
Not Found
요청한 URI 가 존재하지 않을때
405
Method Not 허용하지 않은 Method 가 요청되었을 때
Allowed
DSU Computer Network
HTTP
Message Format – Headers

Header
• 역할 : 클라이언트와 서버 사이의 추가적인 정보 교환
• 형식 : 헤더이름, 콜론, 공백, 헤더 값
DSU Computer Network
HTTP
Message Format – Headers
o
Header Line
 일반헤더 (General headers)
 요청헤더 (Request headers)
 응답헤더 (Response headers)
 항목헤더 (Entity headers)
o
Request Message : 일반, 요청, 항목헤더만 포함
o
Response Message : 일반, 응답, 항목헤더만 포함
DSU Computer Network
HTTP
Message Format – Headers
DSU Computer Network
HTTP
Message Format – Headers
o 일반헤더(General headers)
• 메시지에 대한 일반적인 정보 제공
• 요청과 응답 메시지에 존재
DSU Computer Network
HTTP
Message Format – Headers
o 요청헤더(Request headers)
• 클라이언트의 구성과 선호하는 문서 형식을 지정
Header
Accept
Accept-charset
Accept-language
Authorization
From
Host
User-agent
Description
클라이언트가 받아들이는 미디어 타입
클라이언트가 다루는 문자열 셑 지정
클라이언트가 받아들일 언어
클라이언트가 가지고 있는 사용자 인증
사용자의 이 메일 주소를 보여준다
호스트의 주소와 포트 번호를 보여준다
클라이언트 프로그램( 웹 브라우저)을 표시
DSU Computer Network
HTTP
Message Format – Headers
o 응답헤더(Response headers)
• 서버의 구성과 요청에 대한 특별한 정보를 지정
• 응답 메시지에만 존재
DSU Computer Network
HTTP
Message Format – Headers
o 항목헤더(Entity headers)
• 문서의 본문에 대한 정보 제공
• 응답 메시지, 요청 메시지에 존재
DSU Computer Network
HTTP
Message Format - Example

메시지 요청과 응답의 예
DSU Computer Network
HTTP
Web Caching

웹 캐시란 인터넷의 게이트웨이 가까이 설치되어 다른 사
용자가 방문했던 같은 사이트의 경우에 캐시 서버에 저장
해 두었다가 멀리 인터넷 밖의 서버에서 가져오지 않고 캐
시 서버에서 직접 응답

서버에서 클라이언트간의 거리로 인한 전송지연을 줄이고
웹 트래픽을 절감함으로서 네트워크의 속도 향상에 지대한
도움

이처럼 동작하는 캐시 서버를 프록시 서버 ( Proxy Server )
DSU Computer Network
HTTP
Web Caching – Proxy Server

포워드 프록시 ( Forward Proxy )
 프록시 서버를 '클라이언트 호스트들과 접근하고자 하는
원격 리소스의 사이'에 위치
DSU Computer Network
HTTP
Web Caching – Proxy Server

리버스 프록시 ( Reverse Proxy )
 프록시 서버를 '인터넷 리소스 또는 인트라넷 리소스 앞'
에 위치시키는 방식
DSU Computer Network
HTTP
참고자료







NRC와 함께 하는 LIVE 네트워크 : 한빛미디어
웹 마스터 IN A NUTSHELL : 한빛미디어
WAP와 WML을 중심으로 무선 인터넷 프로그래밍
t-book 5 : 사이텍미디어
컴퓨터 네트워크 : 21세기사
Application Layer(PPT문서) : Distributed System Lab.
Korea University
웹에서의 성능 개선(한글문서) : 한국전자통신연구원
하이퍼 텍스트 접속규약 1.1 표준(한글문서)
DSU Computer Network
HTTP
END
DSU Computer Network