계층형 프로토콜 | |
---|---|
애플리케이션 계층 | HTTP, NTP, SSH, SMTP, DNS |
트랜스포트 계층 | UDP, TCP |
인터넷 계층 | IP |
네트워크 인터페이스 계층 | 이더넷 |
GET /test HTTP/1.1
Host: example.com
HTTP/1.1 200 OK
Content-Type: application/xhtml+xml; charset=utf-8
<html xmlns="http://www.w3.org/1999/xhtml">
....
</html>
HTTP 메시지의 구조 |
---|
스타트 라인(Start Line) |
헤더(Header) |
빈 줄(blank Line) |
바디(Body) |
HTTP 메서드 | |
---|---|
메서드 | 의미 |
GET | 리소스 취득 |
POST | 서브 리소스의 작성, 리소스 데이터의 추가, 그 밖의 처리 |
PUT | 리소스 갱신, 리소스 작성 |
DELETE | 리소스 삭제 |
HEAD | 리소스의 헤더(메타 데이터) 취득 |
OPTIONS | 리소스가 서포트하는 메서드의 취득 |
TRACE | 자기 앞으로 요청 메시지를 반환(루프 백) 시험 |
CONNECT | 프록시 동작의 터널 접속으로 변경 |
CRUD와 HTTP 메서드의 대응 | ||
---|---|---|
CRUD 명 | 의미 | 메서드 |
Create | 작성 | POST/PUT |
Read | 읽기 | GET |
Update | 갱신 | PUT |
Delete | 삭제 | DELETE |
HTTP 메서드의 성질 | |
---|---|
메서드 | 성질 |
GET, HEAD | 멱등이고 안전하다 |
PUT, DELETE | 멱등이지만 안전하지 않다 |
POST | 멱등이지도 안전하지도 않다 |
날짜 시간을 가지는 헤더 | ||
---|---|---|
이용하는 메시지 | 헤더 | 의미 |
요청과 응답 | Date | 메시지를 생성한 일시 |
요청 | If-Modified-Since | 조건부 GET으로 리소스의 갱신일시를 지정할 때 이용한다 |
If-Unmodified-Since | 조건부 PUT, 조건부 DELETE로 리소스의 갱신일시를 지정할 때 이용한다 | |
응답 | Expires | 응답을 캐시할 수 있는 기한 |
Last-Modified | 리소스를 마지막으로 생신한 일시 | |
Retry-After | 다시 요청을 전송할 수 있는 일시의 기준 |
타입 | ||
---|---|---|
타입 | 의미 | 예 |
text | 사람이 읽고 직접 이해할 수 있는 텍스트 | text/plain |
image | 그림 데이터 | image/jpeg |
audio | 음성 데이터 | audio/mpeg |
video | 동영상 데이터 | video/mp4 |
application | 그 밖의 데이터 | application/pdf |
multipart | 복수의 데이터로 이루어진 복합 데이터 | multipart/related |
message | 전자메일 메시지 | message/rfc822 |
model | 복수 차원으로 구성하는 모델 데이터 | model/vrml |
example | 예시용 | example/foo-bar |
주요 서브타입 | |
---|---|
타입 / 서브타입 | 의미 |
text/plain | 플레인 텍스트 |
text/csv | CSV형식 텍스트 |
text/css | CSS형식의 스타일 시트 |
text/html | HTML 문서 |
text/xml | XML 문서(비추천) |
image/jpeg | JPEG 이미지 |
image/gif | GIF 이미지 |
image/png | PNG 이미지 |
application/xml | XML 문서 |
application/xhtml+xml | XHTML 문서 |
application/atom+xml | Atom 문서 |
application/atomsvc+xml | Atom의 서비스 문서 |
application/atomcat+xml | Atom의 카테고리 문서 |
application/javascript | JavaScript |
application/json | JSON 문서 |
application/msword | Word 문서 |
application/vnd.ms-excel | Excel 문서 |
application/vns.ms-powerpoint | PowerPoint 문서 |
application/pdf | PDF 문서 |
application/zip | ZIP 파일 |
application/x-shockware-flash | Flash 오브젝트 |
application/x-www-form-urlencoded | HTML 폼 형식 |