HTTP 프로토콜이란?
HTTP는 “하이퍼텍스트 전송 프로토콜 (Hypertext Transfer Protocol)“의 약자로, 서버와 브라우저 사이의 데이터 통신을 위한 규약이다
-인터넷 상에서 데이터를 주고 받기 위한 서버/클라이언트 모델을 따르는 프로토콜
-애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동
-다양한 종류의 데이터(html, 그림, 동영상 등)을 전송할 수 있도록 설계
HTTP 작동 방식
*클라이언트에서 요청(Request)를 보내면 서버는 요청을 처리해서 응답(Response)

HTTP 는 비연결성( Connectionless)한 특성이 있다.
비연결성은 클라이언트와 서버가 한번 연결을 맺은 후, 클라이언트 요청에 대해 서버가 응답을 마치면 맺었던 연결을 끊어버리는 성질을 말한다.
장점:
HTTP는 불특성 다수를 대상으로 하는 서비스이기때문에 연결을 유지하기 위한 리소스를 줄이면 더 많은 연결을 할 수있으므로 비연결적인 특징을 갖는다.
단점:
연결을 끊어버리기 때문에 클라이언트의 이전 상태를 알 수가 없음 그래서 동일한 클라이언트의 모든 요청에 대해 매번 새로운 연결을 시도/해제 과정을 거쳐야 해 연결/해제에 대한 오버헤드가 발생함
=> 쿠키,세션으로 해결 가능한 문제
HTTP Method
| Method | 설명 | 비고 (DB와 연관) |
| GET | 정보를 요청하기 위해서 사용 | SELECT |
| POST | 정보를 추가하기 위해서 사용 | INSERT |
| PUT | 정보를 업데이트하기 위해 사용 | UPDATE |
| DELETE | 정보를 삭제하기 위해서 사용 | DELETE |
| HEAD | 헤더 정보만 요청, 해당 자원이 존재하는지 혹인 서버에 문제가 없는지를 확인 |
|
| OPTIONS | 웹 서버가 지원하는 메서드의 종류를 요청 | |
| TRACE | 클라이언트의 요청을 그대로 반환 | echo |
요청 데이터 Format
*포함 내용
-요청 데이터는 "HEADER"와 "BODY"로 구성
-HTTP 헤더와 바디 구분은 라인피드와 캐리지 리턴(/r/n)을 함께 사용한다.

*요청 데이터 Format의 필수요소
-요청메서드 : GET,PUT,POST,PUSH,OPTIONS 등
-요청 URI : 요청하는 자원의 위치를 명시
-HTTP 프로토콜 버전 : 웹 브라우저가 사용하는 프로토콜 버전
응답 데이터 Format
*포함 내용
-프로토콜과 응답코드
-날짜
-서버 프로그램 및 스크립트 정보
-개발자 추가 내용
-Content-Type : HTML,이미지 등
'API' 카테고리의 다른 글
| HTTP 오류코드 (0) | 2023.05.12 |
|---|---|
| REST API란 무엇인가. (0) | 2023.05.12 |
| api 문서 작성 방법 (0) | 2023.05.11 |