Hyper Text Transfer Protocol의 약자로 어떠한 데이터도 전송할 수 있게 사용하는 프로토콜입니다.
TCP를 이용하는 응용 계층 프로토콜이며 포트는 80을 사용합니다.(HTTPS의 경우 443)
보통 웹브라우저와 웹서버간의 사용되는 HTTP 버전은 1.1이며 현재시점으로 3.0까지 출시되었습니다.
HTTP 특징
1. 비연결성
- 클라이언트가 요청(Request) 후 이에 대한 응답(Response)을 받은 이후 연결을 끊어버림
2. 무상태성
- 연결을 끊기 때문에 서버는 클라이언트의 상태를 알 수 없어 쿠키, 세션, Oauth, JWT등 다양한 방법을 이용하여 해당 클라이언트가 인증된 사용자인지 인증을 받아야함
메시지 포맷
클라이언트와 서버간의 통신은 평문(ASCII) 메시지로 이루어진다.
HTTP 요청 예)
Method : HTTP의 메소드를 의미하며 RESTFul하게 API 디자인 시 각 용도에 맞게 사용된다.
(GET, POST, PUT, DELETE, FETCH, HEAD 등 존재)
Path : 가져오려는 리소스의 경로를 의미
Version of the protocol : HTTP 프로토콜 버전
HTTP 응답 예)
Version of the protocol : HTTP 프로토콜의 버전
Status Code : 요청의 성공여부를 나타내는 상태코드
Status message : 요청의 성공여부를 나타내는 상태메시지
Headers : 클라이언트에 전달하는 응답 헤더
HTTP 기반 API
HTTP 기반의 Web API는 XMLhttpRequest API이다.
참조
'CS' 카테고리의 다른 글
SOAP에 대해서 알아보자 (0) | 2020.12.02 |
---|---|
플랫폼 API 호출 시 발생하는 오류 CORS란 무엇인가? (0) | 2020.12.02 |
XSS(Cross Site Scripting)란? (0) | 2020.12.02 |