[HTTP] 메시지

jaylight·2021년 1월 3일
0

메시지

  • HTTP 메시지는 단순한 줄 단위 문자열 구성
  • 일반 텍스트로 구성 ⇒ 사람이 읽고 쓰기 쉬움
**[시작줄]**
GET /test/hi-there.txt HTTP/1.0

**[헤더]**
Accept: text/*
Accept-Language: en, fr

[시작줄] 메시지의 첫 줄

  • 요청: 무엇을 해야 하는지 나타냄
  • 응답: 무슨 일이 일어났는지 나타냄

[헤더] 시작줄 다음

  • 각 헤더 필드는 쉬운 구문 분석을 위해 쌍점(:)으로 구분된 하나의 이름과 하나의 값으로 구성
  • 헤더 필드를 추가하려면 한 줄을 더해 작성하면 됨
  • 헤더는 빈 줄로 종료됨

[본문] 헤더의 빈 줄 다음 따라오는 메시지 본문

  • 본문은 임의의 이진 데이터 (이미지, 비디오, 오디오 트랙, 응용 소프트웨어 등), 텍스트 등을 포함할 수 있음
  • 요청: 웹 서버로 데이터를 보냄
  • 응답: 클라이언트로 데이터를 반환

요청 메시지 예시

**[시작줄]**
GET /tools.html HTTP/1.0

**[헤더]**
User-agent: Mozilla/4.75 [en] (Win 98; U)
Host: www.joes-hardware.com
Accept: text/html, image/gif, image/jpeg
Accept-lanuage: en

**[본문]**
*본문 없음*

[시작줄]

  • GET: GET 메서드를 활용
  • /tools.html: 로컬 리소스 이름
  • HTTP/1.0: HTTP 프로토콜 1.0 버전

응답 메시지 예시

**[시작줄]**
HTTP/1.0 200 OK

**[헤더]**
Date: Sun, 01 Oct 2000 23:25:17 GMT
Server: Apache/1.3.11 BSafe-SSL/1.38(Unix)
Last-modified: Tue, 04 Jul 2000 09:46:21 GMT
Content-length: 403
Content-type: text/html

**[본문]**
<HTML>
<HEAD><TITLE>Joe's Tools</TITLE><HEAD>

<BODY>
...

[시작줄]

  • HTTP/1.0 : HTTP 버전 번호
  • 200: 상태 코드
  • OK: 사유 구절

[헤더]

  • Content-lengh: 본문의 길이
  • Content-type: 문서의 MIME 타입

[본문]

0개의 댓글