아~~~~~~~~~~~~~ 임시저장 안했는데 다 날라가서 다시쓰네


HTTP 메시지
서버와 클라이언트 간의 데이터가 교환되는 방식
요청(request)은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지
응답(response)은 요청에 대한 서버의 답변
메시지는 기본적으로 위와 같이 시작줄(Start-Line), 헤더 블록(Header), 본문(Body) 세 부분으로 이루어짐!
- 시작줄: 이것이 어떤 메시지인지 서술.
- 헤더 블록: 속성
- 본문: 데이터를 담고 있으며, 아예 없을 수도 있음!
모든 HTTP 메시지는 요청 메시지와 응답 메시지 두 가지로 분류된다.
- 요청 메시지: 웹 서버에 어떤 동작을 요구한다.
- 응답 메시지: 요청의 결과를 클라이언트에게 돌려줌!

(응애인 저의 기준으로 제일 정리가 잘되어있는
한 블로그에서 대부분 발췌..!! ychae-leah.tistory.com/82 감사해요!블로거님!)
HTTP 요청 메시지 구조
-
요청 메시지는 세 부분으로 구성되어 있다
- Start Line (요청 내용)
- HTTP 메소드 / Request target / HTTP version
- Header
- Body
- Start Line (요청 내용)

1. Start Line 요청 내용
-
HTTP 메소드 / Request target / HTTP version
- HTTP 메소드 : 요청의 의도를 담고 있음 ex) GET, POST
- Request target : HTTP 요청이 전송되는 목표 주소
- HTTP version : 버전에 따라 요청 메시지 구조나 데이터가 다를 수 있어서, version을 명시
2. Header 헤더
-
HTTP 요청 그 자체에 대한 정보를 담고 있다
-
파이썬의 딕셔너리 자료형처럼 key : value 로 이루어져 있다
-
헤더 정보
- Host : 요청이 전송되는 target의 호스트 URL 주소
- User-Agent : 요청을 보내는 클라이언트의 정보 ex) 웹 브라우저의 정보
- Accept
- 해당 요청이 받을 수 있는 응답 body 데이터 타입의 정보
- 모든 타입을 허용하는 경우 */*로 지정 (*_* 꺄르륵)
- MIME type : Multipurpost Internet Mail Extensions ex) application/json)
- Connection
- 해당 요청이 끝난 후에 클라이언트와 서버간의 연결을 계속 유지할 것인지 끊을 것인지 알려주는 헤더
- HTTP 요청 때마다 네트워크 연결을 새로 만드는 건 번거롭기 때문에 요청이 계속되는 한 처음 연결을 재사용하는 것이 바람직
- keep-alive : 네트워크 연결을 유지해라
- close : 더이상 요청을 보내지 않으니 연결을 닫아라
- Content-Type
- HTTP 요청이 보내는 메시지 body 타입을 알려줌
- MIME type
- Content-Length : 요청이 보내는 메시지 body의 총 사이즈 정보
3. Body
- HTTP 요청이 전송하는 데이터를 담고 있는 부분
- 전송하는 데이터가 없다면 body 부분은 비어있다 (위 사진의 경우, Body가 없음)
HTTP 응답 메시지 구조
- 응답 메시지 또한 세 부분으로 구성되어있음!
- Status Line
- HTTP version / Status Code / Status Text
- Header
- Body
- Status Line

1. Status Line
- HTTP version / Status Code / Status Text
- HTTP version
- Status Code
- 응답 상태를 나타내는 코드 (ex.200 요청 정상 처리)
- Status Text
- 응답 상태를 간략하게 글로 설명해줌 (ex. OK)
2. Header
- HTTP 요청 메시지의 헤더와 동일
- 단 User-Agent 헤더 대신 Server 헤더가 사용됨
3. Body
- HTTP 요청 메시지의 body와 동일
- 전송하는 데이터가 없으면 비어 있음
메서드 (Method)
메서드는 서버에게 어떤 동작이 일어나야 하는지를 지정해주는 것이다.
메서드 | 설명 | 본문 유무 |
GET | 서버에서 어떠한 문서를 가져옴 | 무 |
HEAD | 서버에서 어떠한 문서에 대해 헤더만 가져옴 | 무 |
POST | 서버가 처리해야 할 데이터를 보냄 | 유 |
PUT | 서버에 요청 메시지 본문을 저장 | 유 |
TRACE | 메시지가 프락시를 거쳐 서버에 도달하는 과정을 추적 | 무 |
OPTION | 서버가 어떤 메서드를 수행할 수 있는지 확인 | 무 |
DELETE | 서버에서 문서를 제거 | 무 |
모든 서버가 위 표의 메서드를 모두 구현하는 것은 아님!!
위의 메서드에 대해서 더 알고싶으시다면 velog.io/@codemcd/HTTP-%EB%A9%94%EC%8B%9C%EC%A7%80-lqk14ernft 블로그 참고!
아~ 하다가 다~~ 날라가서 첨부터 또 작성해서 완전 공부 하기 시러시러!!
마무리는 했다.... 개발자가 되는 길은 험난하구나...!
오늘도 저에게 많은 가르침을 주신 저만의 튜터분들 사랑합니다!
덕분에 오늘도 지식 스킬 레벨업!
[출처] developer.mozilla.org/ko/docs/Web/HTTP/Messages
HTTP 메시지 - HTTP | MDN
HTTP 메시지는 서버와 클라이언트 간에 데이터가 교환되는 방식입니다. 메시지 타입은 두 가지가 있습니다. 요청(request)은 클라이언트가 서버로 전달해서 서버의 액션이 일어나게끔 하는 메시지
developer.mozilla.org
[출처] velog.io/@codemcd/HTTP-%EB%A9%94%EC%8B%9C%EC%A7%80-lqk14ernft
HTTP 메시지
들어가며... HTTP Web 서버를 구현해보면서 HTTP 메시지에 대해 정리를 해야겠다는 생각을 하게 되었다. HTTP 메시지는 단순한, 데이터의 구조화된 블록이다. HTTP 메시지는 다음과 같이 두 가지가 존
velog.io
[출처] flylib.com/books/en/4.253.1.155/1/
17.1. HTTP Request and Response Classes | Core C# and .NET
HTTP specifications[1] concisely define messages as "requests from client to server and responses from server to client." At its most elemental level, the role of ASP.NET is to enable server-based applications to handle HTTP messages. The primary way it do
flylib.com
[출처] ychae-leah.tistory.com/82
[web] HTTP 요청-응답 메시지 구조 request-response
HTTP 통신의 특징 HTTP 요청 메시지 구조 요청 메시지는 세 부분으로 구성되어 있다 *1) Start Line (요청 내용) * HTTP 메소드 / Request target / HTTP version 2) Header 3) Body 요청 내용과 헤더 필더는 마지..
ychae-leah.tistory.com
[출처] http://www.tcpipguide.com/free/t_HTTPResponseMessageFormat.htm
** 그냥 하루하루 개인 공부한 것을 끄적 거리는 공간입니다.
이곳 저곳에서 구글링한 것과 강의들은
내용이 정리가 되었습니다.
그림들은 그림밑에 출저표시를 해놓았습니다.
문제가 될시 말씀해주시면 해당 부분은 삭제 하도록하겠습니다. **
'public void static main > Lecture' 카테고리의 다른 글
[HTTP웹기본지식] HTTP 메서드 - PUT, PATCH, DELETE (1) | 2021.03.10 |
---|---|
[SpringBoot] SpringBoot_02_스프링웹개발기초 (0) | 2021.01.18 |
[HTTP웹기본지식] HTTP_03_1 (0) | 2021.01.12 |
[SpringBoot] SpringBoot_01_시작하기! (0) | 2021.01.11 |
[HTTP웹기본지식] HTTP_02 (0) | 2021.01.07 |
댓글