Home HTTP 메시지
Post
Cancel

HTTP 메시지

이어서

HTTP 메시지란

HTTP 메시지는 응답 혹은 요청시에 서버-클라이언트 간의 대화라고 생각하면 편하다. 응답과 요청 메시지의 구조는 다르다. 참고

image.png

구조는

  • 시작
  • 헤더
  • 공백(CRLF)
  • 메시지

로 이루어져있다.

시작라인

매우 단순한 구조로 손쉬운 확장이 가능하다.

요청 메시지

1
2
GET /search?q=helloWorld&hl=ko HTTP/1.1
Host: www.google.com
1
2
method(ex.GET,POST..) SP(공백)request-target SP HTTP-version CRLF(엔터)
Header

HTTP method

GET /search?q=helloWorld&hl=ko HTTP/1.1

종류: GET, POST, PUT, DELETE …

서버가 수행할 동작을 지정.

GET vs POST


HTTP request-target(요청대상)

GET /search?q=helloWorld&hl=ko HTTP/1.1

절대경로(“/”) 로 시작하는 경로


HTTP version

GET /search?q=helloWorld&hl=koHTTP/1.1

HTTP의 버전 명시


HTTP Header

Host: www.google.com

Header-field = field-name: SP field-value SP

field-name에는 대소문자 구분이 없다.

HTTP 전송에 필요한 모든 부가정보가 포함되어있다. ex) 메시지 바디 내용, 크기, 클라이언트 정보등등등. 표준 헤더가 너무 많고 필요시 임의 헤더 추가도 가능하다.

응답 메시지

1
2
3
4
5
6
7
HTTP/1.1 200 OK
Content-Type: text/html;charset=UTF-8
Content-Length: 3423

<html>
  <body>...</body>
</html>
1
2
3
HTTP-version SP status-code SP reason-phrase CRLF

MSG

HTTP version

HTTP/1.1 200 OK

Content-Type: text/html;charset=UTF-8

Content-Length: 3423

HTTP의 버전 명시


HTTP status-code

HTTP/1.1 200 OK

Content-Type: text/html;charset=UTF-8

Content-Length: 3423

HTTP의 연결 상태

  • 200: 성공
  • 400: 클라이언트 요청 오류
  • 500: 서버 내부 오류

HTTP reason-phrase

HTTP/1.1 200 OK

Content-Type: text/html;charset=UTF-8

Content-Length: 3423

HTTP의 연결 상태(인간말)


HTTP Header

HTTP/1.1 200 OK

Content-Type: text/html;charset=UTF-8

Content-Length: 3423

Header-field = field-name: SP field-value SP

field-name에는 대소문자 구분이 없다.

HTTP 전송에 필요한 모든 부가정보가 포함되어있다. ex) 메시지 바디 내용, 크기, 클라이언트 정보등등등. 표준 헤더가 너무 많고 필요시 임의 헤더 추가도 가능하다.

네트워크 공부

목록

참고

강의-모든개발자를 위한 HTTP

image.png

위키문서

ietf

This post is licensed under CC BY 4.0 by the author.