IT/etc.

Protocol, HTTP?

Huitopia 2022. 11. 21. 02:35
728x90

Protocol

프로토콜(Protocol)은 컴퓨터 내부 또는 컴퓨터 사이의 데이터 교환 방식을 정의하는 규칙 체계이다. 장비간 통신은 교환되는 데이터 형식에 대해 상호 합의를 요구하며, 이런 형식을 정의하는 규칙의 집합을 프로토콜이라 한다.

 

HTTP

HTTP는 Hyper Text Transfer Protocol의 두문자어로, HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜이다. 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버의 프로토콜이기도 하다. 브라우저인 클라이언트에 의해 전송되는 메시지를 요청(request)라고 하며, 서버에서 응답으로 전송되는 메시지를 응답(response)라고 한다. 각각의 개별적인 요청들은 서버로 보내지며, 서버는 요청을 처리하고 응답을 제공한다. 

HTTP는 상태를 저장하지 않는다. HTTP의 핵심은 상태가 없는 것(Stateless)이지만 HTTP 쿠키는 상태가 있는 세션을 만들도록 한다. 헤더 확장성을 사용하여, 동일한 컨텍스트 또는 동일한 상태를 공유하기 위해 각각의 요청들에 세션을 만들도록 HTTP 쿠키가 추가된다.

HTTP Method

GET

특정 리소스를 받는 요청. 리소스의 생성, 수정 및 삭제 등에 사용 불가

 

POST

리소스를 생성 또는 컨트롤러 실행시 사용

 

PUT

변경 가능한 리소스 업데이트시 사용. 리소스 식별 정보 포함 필수

 

PATCH

변경 가능한 리소스의 부분 업데이트에 사용. 리소스 식별 정보 포함 필수

PUT을 사용해 전체 객체를 업데이트하는 것이 관례여서 거의 사용안함

 

DELETE

특정 리소스 제거시 사용

Request Body가 아닌 URI 경로에 제거하려는 리소스의 ID 전달

 

HEAD

클라이언트가 본문 없이 리소스에 대한 헤더만 검색하는 경우 사용

클라이언트가 서버에 리소스가 있는 지 확인하거나 메타 데이터를 읽으려는 때 GET 대신 사용

 

OPTIONS

클라이언트가 서버의 리소스에 대해 수행 가능한 동작을 알아보기 위해 사용

서버는 이 리소스에 대해 사용할 수 있는 HTTP 요청 메소드를 포함하는 Allow 헤더 반환(CORS에 사용)

 

참고사이트

 

HTTP 개요 - HTTP | MDN

HTTP는 HTML 문서와 같은 리소스들을 가져올 수 있도록 해주는 프로토콜입니다. HTTP는 웹에서 이루어지는 모든 데이터 교환의 기초이며, 클라이언트-서버 프로토콜이기도 합니다. 클라이언트-서버

developer.mozilla.org

 

728x90