위 그림은 클라이언트나 서버에서 HTTP/1.x 메세지로 생성하고 1.1 버전을 2버전으로 이진 바이너리 프레임으로 나뉘는 과정을 보여준다.
웹개발자가 손수 HTTP 메세지를 작성하지는 않기 때문에 브라우저나 서버 설정파일이 알아서 HTTP메세지를 작성해 준다.
HTTP 요청과 응답의 구조는 서로 매우 닮았다. 그리고 엄청 심플해서 확장성도 좋다.
1. 시작라인
-요청
HTTP 메서드가 온다 ( GET, POST , PUT , .... )
HTTP 버전을 명시한다.
요청 대상의 URL을 명시한다.
-응답
HTTP 버전
HTTP 상태코드 (200, 400, 500 등)
간단한 이유문구가 온다.
2. 헤더
헤더에 들어가는 내용은 아래의 템플릿을 따른다.
field-name: OWS field-value OWS
OWS : 띄어쓰기를 허용한다는 의미
예를 들어,
Host: www.google.com
Content-Type: text/html;charset=utf-8
Content-Length: 3444
위와 같은 내용은 모두 헤더에 들어간다.
3. 공백
공백라인은 CRLF라고하며 필수다
4. 메세지 바디
실제 들어가는 데이터가 담긴다.
음성,영상,HTML 파일등등 ....
더 자세한 내용을 참고하려면
developer.mozilla.org/ko/docs/Web/HTTP/Messages
'HTTP' 카테고리의 다른 글
[7] 클라이언트에서 서버로 HTTP 데이터 전송 4가지 (0) | 2021.03.29 |
---|---|
[6] HTTP 메서드 - GET,POST,PUT (0) | 2021.03.29 |
[4] HTTP 의 주요 특징 (0) | 2021.03.20 |
[3] URL vs URI 차이점 (0) | 2021.03.14 |
[2] TCP vs UDP 의 특징( 면접 단골 질문) (0) | 2021.03.14 |
댓글