Table of Contents

HTTP

계층형 프로토콜
애플리케이션 계층 HTTP, NTP, SSH, SMTP, DNS
트랜스포트 계층 UDP, TCP
인터넷 계층 IP
네트워크 인터페이스 계층 이더넷

HTTP 메시지

HTTP 메시지의 구조
스타트 라인(Start Line)
헤더(Header)
빈 줄(blank Line)
바디(Body)

HTTP 메서드

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 멱등이지도 안전하지도 않다

스테이터스 코드

HTTP 헤더

날짜 시간을 가지는 헤더
이용하는 메시지 헤더 의미
요청과 응답 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 폼 형식

Status Codes

HTTP Headers

References