일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- RestControllerAdvice
- 자료구조
- set-version
- file i/o
- Spring 예외처리
- 리눅스 사용권한
- ubuntu 패스워드
- custom exception
- 배열 탐색
- 스키마 설계
- Java
- 탐욕 알고리즘
- root passwd
- ubuntu
- N:N
- http 응답코드
- git 설정
- mapstruct
- REST HTTP API
- char to int
- O(log n)
- AOP
- Spring
- 함수형 인터페이스
- git workflow
- ubuntu passwd
- JAVA 재귀함수
- Spring MVC
- 코드스테이츠
- 스키마 디자인
Archives
- Today
- Total
개발소설
HTTP Messages 본문
HTTP Messages
- 클라이언트와 서버간 데이터가 교환되는 방식
- 요청(Request), 응답(Response) 두 유형이 존재
- 몇줄의 텍스트 정보로 구성되고, 구성파일, API, 기타 인터페이스에서 HTTP Messages를 자동으로 완성 한다.
메시지 구조
요청 (Request)
- 클라이언트가 서버에 보내는 메시지
- start line
- http의 메서드 (수행해야하는 작업) - ex) POST
- 요청 대상 - ex) /
- url, 프로토콜, 포트, 도메인의 절대경로등
- HTTP의 버전 - ex) HTTP/1.1
- Headres
- 기본 구조를 따른다. 헤더 이름(대소문자 구분없는 문자열), 콜론(:), 값 - 값은 헤더에 따라 다르다.
- General headers : 메시지 전체에 적용되는 헤더, Body 데이터와 관련이 없는 헤더
- Request headers : fetch를 통해 가져올 리소스나 클라이언트 자체에 대한 자세한 정보를 포함하는 헤더
- Representation headers : Entity headers, body에 담긴 리소스 정보를 포함 하는 헤더 (콘텐츠 길이, MIME 타입 등)
- Body
- Messages 마지막에 위치, 모든 요청에 body가 필요하지 않음
- GET, HEAD, DELETE, OPTIONS처럼 서버에 리소스를 요청하는 경우
- POST와 PUT처럼 데이터(리소스)를 업데이트하는 경우 Body 사용
- Messages 마지막에 위치, 모든 요청에 body가 필요하지 않음
Response(응답)
- Status line
- HTTP 버전 ex) HTTP/1.1
- 상태코드 - 요청의 대한 결과 ex) 2XX, 4XX, 5XX등
- 상태 텍스트 - 상태코드에 대한 설명 ex) 403 Forbidden
- Headers
- General headers : 메시지 전체에 적용되는 헤더, Body데이터와는 관련이 없는 헤더
- Response headers : 위치 또는 서버 자체에 대한 정보(이름, 버전 등)와 같이 응답에 대한 부가적인 정보를 갖는 헤더
- Representation headers : Entity headers, body에 담긴 리소스의 정보를 포함하는 헤더(콘텐츠 길이, MIME타입등)
- Body
- messages 마지막에 위치, 모든 응답에 body가 필요하지 않는다.
- 201,204와 같은 상태 코드를 가지는 응답에는 본문이 필요하지 않음
Stateless (무상태성)
- HTTP의 큰 특징으로, HTTP는 상태를 가지지 않는다.
- HTTP로 클라이언트와 서버가 통신을 주고 받는 과정에서, HTTP는 클라이언트나 서버의 상태를 확인 하지 않는다.
'CS > HTTP' 카테고리의 다른 글
OpenAPI (0) | 2023.03.28 |
---|---|
REST API (0) | 2023.03.28 |
HTTP 상태코드 (status code) (0) | 2023.03.28 |
HTTP API (0) | 2023.03.27 |
웹 애플리케이션, SSR, CSR, CORS (0) | 2023.03.27 |
Comments