[HTTP완벽가이드] 03. HTTP 메시지

03 HTTP 메시지

요약

HTTP 메시지의 구조

  요청 메시지 응답 메시지
시작줄 <메서드> <요청URL> <버전> <버전> <상태코드> <사유 구절>
헤더 <헤더> <헤더>
본문 <엔티티 본문> <엔티티 본문>

메서드

메서드명 기능 본문
GET 리소스 가져올 때 없음
HEAD 헤더만 확인할 때 없음
PUT 데이터를 새로 저장하거나 업데이트할 때 있음
POST 폼 데이터를 전송할 때 있음
TRACE 클라이언트에서 서버로 요청메시지를 보낼 때, 프록시 등의 중간매체를 거치면서 요청 메시지가 달라질 수 있음. 실제로 받는 요청 메시지를 확인하고 싶을 때. 단, 중간매체가 메서드에 따라 동작을 달리하는 경우, 확인하기 힘듦 없음
OPTIONS 해당 URL 포맷에 대해 지원하는 메서드의 종류가 알고 싶을 때 없음
DELETE 데이터를 지워달라고 요청할 때, 지움을 보장하지 않음 없음

상태코드

코드 분류
1xx 정보
2xx 성공
3xx 리다이렉트
4xx 클라이언트 에러
5xx 서버 에러

헤더

분류 이름 설명
요청헤더 Host 요청의 대상이 되는 서버의 호스트명과 포트
  Referer 요청을 한 페이지의 URL
  Accept 클라이언트가 처리할 수 있는 미디어 종류
  Cookie 쿠키저장
  If-Modified-Since 주어진 날짜 이후에 리소스가 변경되었는 지 확인. 클라이언트 캐시에 활용 예) 응답이 304(Not Modified)라면 클라이언트에 저장된 값을 사용한다
응답헤더 Server 서버의 이름과 버전
  Allow URL 포맷에 대해 허용하는 메서드의 종류
  Location 리소스의 리다이렉트 위치를 알려줄 때
  Set-Cookie 클라이언트에 쿠키 저장
엔티티헤더 Content-Type 본문이 어떤 타입인 지
  Last-Modified 응답 데이터가 수정된 최근 날짜