-
[Spring]HTTP MESSEGE 구조Spring 2025. 3. 27. 19:36
HTTP MESSEGE 구조
서버에게 요청하는 요청 메세지(Request)와, 서버로 부터 받는 응답 메세지(Respond)가 있다.
기본 구조
Start Line[ Get(요청타입) / event(Path, 경로) HTTP Version] +Header + emptyLine + messegebody로 이루어져 있다.
Start Line
Get(요청타입) / event(Path, 경로) HTTP Version 1.1
.
Get: 요청의 의도를 가짐.POST(Create) 리소스 생성.
HTML FORM(회원가입, 게시글 작성 등)에 사용
Message Body를 통해 요청 데이터를 전달GET(Read) Query String 포함 리소스 조회
[조건데이터를 포함한 데이터 전체 조회]
/schedule?key=Value&key=Value
(key=Value&key=Value -> Query String , Query param)
Query String 미포함 리소스 조회 [전체 조회]
/schedulePUT(전체 Update) 리소스 덮어쓰기
POST와는 다르게 클라이언트 측에서 리소스를 식별하여
URI를 지정
리소스 전체 수정 요청
(기존 리소스가 존재하는 경우)
{
수정 내용
}
기존 리소스가 존재하면 완전히 덮어쓰기가 된다.
(기존 리소스가 존재하고 일부만 변경하는 경우)
{
수정, 추가 내용
}PATCH(일부 Update) 리소스 일부 수정
리소스가 없으면 생성된다. /기존 내용에서 변경된 것을 수정한다.DELETE(delete) 리소스 삭제
/event : Path는 HTTP Request가 전송되는 대상,절대 경로(”/”로 시작하는 경로) Query String(= Query Parameter) 에 해당하는 값도 포함
ex)/search?keyword=spartaaw
Query String(= Query Parameter)
=> 사용자가 입력 데이터를 전달하는 방법중의 하나로, url 주소에 미리 협의된 데이터를 파라미터를 통해 넘기는 것을 말한다.
ex) /schedule?key=Value&key=Value (key=Value&key=Value -> Query String , Query param)
1.1 : HTTP Version을 말한다.
2.Header
- Host: spartacodingclub.kr
- field-name: OWS field-value OWS (OWS : 띄어쓰기 허용) 구조를 가진다.
- field-name은 대소문자 구분을 하지 않는다.
- 임의의 Header를 추가할 수 있다. (단, 서버가 값을 알고 있어야 함)
- 요청의 추가 정보들을 가지고 있다.
ex) Message Body 내용, 크기, 인증, 브라우저 정보, 서버 정보 등
3. Empty Line
- 공백 한 줄
- 필수 값
4. Message Body(있어도 되고 없어도 된다.)
- 실제 전송하는 데이터가 담겨 있는 부분.
ex)Json 작성/답변 내용
{
name: paragon,
coment : 안녕하세요!
}
- HTML, 이미지, JSON 등 byte로 표현되는 모든 데이터 전송 가능.
- 요청 시 GET의 경우 Message Body가 지원되지 않는 경우가 많아 권장하지 않는다.
기타 Method
- HEAD
- GET에서 Message Body를 제외하고 상태 줄과 헤더만 반환한다.
- OPTIONS
- 대상 리소스에 대한 통신 가능한 Method를 설명한다.
- CONNECT
- 대상 자원으로 식별되는 서버에 대한 터널을 설정한다.
- 잘 사용하지 않는다.
- TRACE
- 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행한다.
- 잘 사용하지 않는다.'Spring' 카테고리의 다른 글
[Spring] Annotation (0) 2025.03.29 [Spring] HTTP Method 속성 (0) 2025.03.27 [Spring] HTTP (6) 2025.03.27 [Spring] DNS (Domain Name System) (0) 2025.03.27 [Spring] TCP / UDP (0) 2025.03.27