티스토리 뷰
1. HTTP란?
HTTP란 HyperText Transfer Protocol 의 약자이다.
프로토콜(protocol)이란 상호 간 정의한 규칙으로
컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계이다.
클라이언트(웹 브라우저, 혹은 사용자)와 서버(데이터 저장 컴퓨터) 간에
데이터를 주고 받기 위해 사용하는 규칙(프로토콜)은 HTTP를 사용하고 있다.
HTTP는 서버와 클라이언트 사이에서 어떻게 메세지를 교환할지를 정해놓은 규칙이다.
HTTP 프로토콜(규칙)를 통해 데이터를 주고 받기 위해서는
request(요청)와 response(응답)을 사용한다.
클라이언트는 서버에 데이터를 요청(request)하고
서버는 응답(response)을 통해 클라이언트가 사용할 수 있는 자료를 전송한다.
2. stateless (무상태)
HTTP는 상태가 없는(statelsee) 프로토콜로써
이전 요청과 무관한 각각의 요청을 취급하며,
데이터를 주고 받기 위한 각각의 데이터 요청이 서로 독립적으로 관리된다.
즉, 이전 요청과 다음 데이터 요청이 서로 관련이 없다.
무상태 HTTP의 장점은 세션과 같은 별도의 추가 정보를 관리하지 않아도 되고
다수의 요청 처리 및 서버의 부하를 줄일 수 있는 장점이 있다.
단점은 매 요청마다 추가 정보를 포함할 필요가 있으며, 이 부가 정보는 서버가 해석해야한다.
3. HTTP 요청 메소드
HTTP verb(동사)라고 불리우며 다음과 같은 종류가 있다.
HTTP는 아래와 같은메세지를 통해 특정 행동을 요청할 수 있다.
REST API를 사용할 경우에는 URI를 통해 자원을 명시하고 해당 자원에 대한 CRUD를 요청할 수 있다.
- Get: 클라이언트가 서버에게 URL에 존재하는 자료의 전송을 요청
- Head: Get 요청으로 반환될 데이터 중 헤더 부분에 해당하는 데이터만 요청
- Post: 클라이언트가 서버에서 처리할 수 있는 자료를 자료를 보내어 새로운 자료를 생성
- Delete: 클라이언트가 서버에게 지정한 URL의 정보를 제거할 것을 요청
- Put: 클라이언트가 서버에 지정한 URL의 데이터를 전체적으로 수정할 것을 요청
- Patch: 클라이언트가 서버에 지정한 URL의 데이터를 부분적으로 수정할 것을 요청
- Trace: 클라이언트가 서버에게 송신한 요청의 내용을 반환해 줄 것을 요청
- Connect: 클라이언트가 특정 종류의 프록시 서버에게 연결을 요청
| HTTP 메소드 | 요청에 Body가 있음 |
응답에 Body가 있음 |
안전 | 멱등(Idempotent) | 캐시 가능 |
| GET | no | 예 | 예 | 예 | 예 |
| HEAD | no | no | 예 | 예 | 예 |
| POST | 예 | 예 | 아니오 | 아니오 | 예 |
| PUT | 예 | 예 | 아니오 | 예 | 아니오 |
| DELETE | no | 예 | 아니오 | 예 | 아니오 |
| CONNECT | 예 | 예 | 아니오 | 아니오 | 아니오 |
| OPTIONS | 선택 사항 | 예 | 예 | 예 | 아니오 |
| TRACE | 아니오 | 예 | 예 | 예 | 아니오 |
| PATCH | 예 | 예 | 아니오 | 아니오 | 예 |
표
참고
gmlwjd9405.github.io/2018/09/21/rest-and-restful.html - RestAPI
'프로그래밍 정보' 카테고리의 다른 글
| ffmpeg 개발자 버전을 윈도우(window)로 설치 및 설정하기 (0) | 2021.04.28 |
|---|---|
| Visual Studio: 쉽게 version 확인 && 쉽게 업데이트하기(version up 하기) (0) | 2021.03.16 |
- Total
- Today
- Yesterday
- Linux
- raspberrypi
- CSS
- JavaScript
- Python
- SQL
- QT
- 모닝독서
- tailwind
- variable
- 포인터
- 스타벅스
- yocto
- 라즈베리파이
- Til
- js syntax
- 자바스크립트
- Kernel
- C
- NestJS
- 오늘의 공부
- 재미있는
- JS
- var
- JSON
- 미라클모닝
- 초아
- opencv
- 20.03.11.(목)
- tailwindcss
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
