HTTP 메시지
의미
HTTP는 웹상에서 보내는 어떤 규칙을 가진 문자열을 주고 받는데, 그 규칙이 HTTP를 의미함
그렇게 보내는 문자열을 HTTP Message라고 함
먼저 요청을 보내는 메시지를 Request 메시지, 요청에 대한 응답을 보내는 메시지를 Response 메시지라고 함
Request Message (요청 메시지)
클라이언트가 서버로 보내는 메시지
형식
분류내용시작줄 <메서드> <요청 URL> <버전>
GET / HTTP/1.1
헤더 <헤더>
Host: localhost:8000
Connection: keep-alive
(빈줄)
본문 <엔터티 본문>
body message
각 줄은 \r\n으로 구분되어있음
위에 쓴 것 처럼 공백(띄어쓰기)도 유의해줘야 함
헤더와 본문은 빈줄로 구분되어야 함
위 내용을 그냥 문자열로 만들어서 상태측에게 전달하는 것이 HTTP 요청 메시지
GET / HTTP/1.1\r\nHost: localhost:8000\r\nConnection: keep-alive\r\n\r\nbody message
Response Message (응답 메시지)
서버가 클라이언트에게 보내는 응답 메시지
형식
분류내용시작줄 <버전> <상태코드> <사유구절>
HTTP/1.1 200 OK
헤더 <헤더>
Connection: keep-alive
Content-Type: text/html; charset=utf-8
Content-Length: 12
Set-Cokkie: name=donghyeon
(빈줄)
본문 <엔터티 본문>
body message
각 줄은 \r\n으로 구분되어있음
위에 쓴 것 처럼 공백(띄어쓰기)도 유의해줘야 함
헤더와 본문은 빈줄로 구분되어야 함
Content-Length와 본문 데이터의 길이가 동일해야 함
위 내용을 그냥 문자열로 만들어서 상태측에게 전달하는 것이 HTTP 응답 메시지
HTTP/1.1 200 OK\r\nConnection: keep-alive\r\nContent-Type: text/html; charset=utf-8\r\nContent-Length: 12\r\nSet-Cokkie: name=donghyeon\r\n\r\nbody message
Message Header
내가 보내는 메시지가 어떤 정보를 의미하는지에 대한 메타데이터
클라이언트 혹은 서버 프로그램은 헤더를 기준으로 요청 또는 응답을 처리하게 됨
꼭 필요하지 않은 정보가 포함될 수도 있지만, 어떤 정보는 없으면 응답하기 어려운 경우도 있음
참고문헌
Last updated