일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- http
- @Entity
- HTTPMESSAGE
- RFC723x
- anyMatch
- 데이터베이스 방언
- DB방언
- 캐쉬가능
- gitreset
- 네이버 연결된 서비스
- 무상태프로토콜
- SpringBoot
- 김영한JPA
- 네이버로그인API
- Invalid bound statement (not found)
- 자바ORM표준프로그래밍
- KAKAOLOGINAPI
- hibernate.dialect
- initialDelay
- Git
- JPA
- fixedDelay
- @Table
- org.apache.ibatis.binding.BindingException
- HTTP3
- 매핑정보가없는필드
- Transaction not successfully started
- gitrevert
- 멱등활용
- ERROR TYPE : org.apache.ibatis.binding.BindingException
- Today
- Total
twocowsong
[모든 개발자를 위한 HTTP 웹 기본 지식 - 13] 본문
HTTP 메세지
HTTP 메세지의 구조는 그림과 같다. 시작라인, 헤더, 공백(무조건 있어야함), body로 구성되어있다.
예)HTTP 요청 메시지를 보면 GET 방식의 /search?q=hello&hl=ko로 path 가 구성되어 있으며 HTTP1.1 프토로콜로 시작라인 구성되어있으며 헤더정보, 공백, Body(그림에는 없음)로 구성되어있다.
응답메세지에서는 시작라인이 다르다. HTTP1.1 프로토콜이나오고 200 OK (뒤에 자세히 다루겠습니다.)가 나온뒤 헤더값이 출력, 후 공백라인이 무조건 나오며 메시지 바디 영역이 나옵니다.
응답메세지는 RFC 공식 스펙에도 자세히 나와있습니다.
이제 각각 라인에 대해서 자세히 보겠습니다.
시작 라인(start-line)은 request-line, status-line으로 구성되어있습니다.
request-line 구성
1. request-line : method(post, get 등등..)
2. request-target : path (Query String)
3. HTTP-version : HTTP1.1 , h2, h3
method : GET,POST,PUT,DELETE. 서버가 수행해야할 동작 지정.
request-target : 절대경로[?쿼리] , 절대경로 = "/"로 시작하는 경로
ex) https://www.google.com/search?q=hello&hl=ko URL에서 /search?q=hello&hl=ko가 요청경로(request-target)입니다.
응답 메세지의 시작라인은 status-line로 구성되어있습니다.
status-line 구성
1. HTTP-version
2. status-code : 상태코드, 클라이언트의 요청의 처리결과를 코드로 리턴
예) 200 : 정상적으로 성공, 400 : 클라이언트의 잘못된 요청, 500 : 서버의 장애 문제
3. reson-phrase : 사람이 읽을수있는 짧은 문장
헤더필더는 field-name 과 :이 들어가고 OWS, field-value가 들어갑니다.
HTTP헤더의 정보는 메시지 바디의 정보 빼고 모든 메타정보가 다들어있다고 생각하시면됩니다.
마지막으로 메세지 바디가있습니다.
'IT > HTTP' 카테고리의 다른 글
[모든 개발자를 위한 HTTP 웹 기본 지식 - 15] (0) | 2022.01.22 |
---|---|
[모든 개발자를 위한 HTTP 웹 기본 지식 - 14] (0) | 2022.01.22 |
[모든 개발자를 위한 HTTP 웹 기본 지식 - 12] (0) | 2022.01.22 |
[모든 개발자를 위한 HTTP 웹 기본 지식 - 11] (0) | 2022.01.22 |
[모든 개발자를 위한 HTTP 웹 기본 지식 - 10] (0) | 2022.01.22 |