반응형
📝 HTTP (HyperText Transfer Protocol) 이란?
HyperText Transfer Protocol의 약자
웹 상에서 정보를 주고받을 수 있는 프로토콜(규약)
HTTP의 특징:
- 무상태성 (Stateless): 각 데이터 교환은 독립적이라는 것을 의미합니다. 이전 요청과 후속 요청 간에 관계가 없습니다.
- 연결을 유지하지 않는 특성 (Connectionless): 요청과 응답이 완료되면 연결이 바로 종료됩니다. 이는 HTTP/1.1에서는 일부 수정되어 연결 유지와 재사용이 가능하게 되었습니다.
- 단순함: HTTP는 간단하게 설계되었기 때문에 확장성 있게 웹 서비스를 구축할 수 있습니다.
- 텍스트 기반: 모든 명령이 단순한 텍스트로 이루어져 있어, 사람이 읽고 이해하기 쉽습니다.
HTTP 주요 메소드
1. GET
정의: 서버로부터 리소스를 조회하는데 사용한다.
특징: 데이터를 URL의 쿼리 문자열에 포함시켜 전송한다.
순수히 데이터를 받아오는 용도이기 때문에 서버의 데이터나 상태를 변경시키지 않아야 한다.
캐싱할 수 있다.
2. POST
정의: 서버에 새로운 리소스를 생성하거나 데이터를 전송하기 위해 사용한다.
특징: 데이터를 HTTP 메시지의 바디에 포함시켜 전송한다.
서버의 상태나 데이터를 변경시킬 수 있다.
3. PUT
정의: 서버의 리소스를 갱신하거나 생성하는데 사용한다.
특징: 지정한 URL에 리소스가 없을 경우 새 리소스를 생성한다.
리소스가 이미 존재하면 덮어쓴다.
4. PATCH
정의: 리소스의 일부를 수정하는데 사용한다.
특징: PUT과 다르게 리소스의 일부만 갱신한다.
5. DELETE
정의: 서버의 리소스를 삭제하는데 사용한다.
특징: 지정된 URL의 리소스를 제거한다.
6. HEAD
정의: GET과 동일하지만 메시지 본문을 제외하고 헤더만 요청하는 메서드다.
특징: 리소스의 존재 유무나 헤더 정보를 확인하고 싶을 때 사용한다.
7. OPTIONS
정의: 대상 리소스가 지원하는 통신 옵션을 설명하기 위해 사용한다.
특징: 사용 가능한 메서드를 확인할 수 있다.
반응형
댓글