HTTP ?
Hyper Text Transfer Protocol
: Client와 Server 사이에 요청과 응답을 처리하기위한 규약(프로토콜)
※ 프로토콜? 컴퓨터 내부에서, 또는 컴퓨터 사이에서 데이터의 교환 방식을 정의하는 규칙 체계
HTTP 특징
- 무상태 프로토콜(Stateless) : 서버는 클라이언트를 식별할 수가 없어 데이터 요청이 서로 독립적으로 관리가 된다.
- 비 연결성(Connectionless) : 클라이언트와 서버가 연결한 후, 요청에 응답을 끝낸 경우 연결을 끊어 버림
Request
- Start Line : HTTP 메시지의 시작줄 => METHOD,URL,HTTP 버전
- Header : 요청에 대한 부가정보
- Body : 요청을 할 때 함께 보낼 데이터를 담는 부분
Response
- Status Line : 응답의 시작줄 => HTTP 버전, status 코드, status 메시지
- Header : 응답에 대한 부가정보
- Body : 요청한 데이터
HTTP REQUEST METHOD
: 주어진 리소스에 수행하길 원하는 행동을 나타냅니다. ex) GET www.naver.com HTTP/1.1
GET : 특정 리소스의 표시를 요청
=> 데이터를 받기만함 (조회)
POST : GET메서드의 요청과 동일한 응답을 요구하지만, 응답 본문을 포함하지 않음
=> 리소스 생성만 함
PUT : 특정 리소스에 엔티티를 제출할 때
=> 기존의 리소스 변경
DELETE : 특정 리소스를 삭제
=> 존재하는 리소스 삭제
PATCH : 리소스의 부분만을 수정
OPTIONS : 목적 리소스의 통신을 설정
※ 주소를 리소스로 보고, 메서드를 동사라고 보는 개발방식이 REST
리소스?
: 웹 콘텐츠의 원천, 가장 단순한 웹리소스는 웹 서버 파일 시스템의 정적 파일, 동적 콘텐츠
- 정적파일 ? ex) 텍스트파일, 이미지파일, HTML파일,동영상 파일 그 외 모든 종류의 파일
- 동적 콘텐츠 : 요청에 따라 콘텐츠를 생산하는 프로그램
ex) 사용자가 누구인가?, 카메라에서 라이브 영상 가져오기, 주식거래 등등
==> 즉, 어떤 종류의 콘텐츠도 소스는 리소스가 될 수 있다.
HTTP 응답 상태 코드
- 1XX : 요청을 받았고 작업을 진행중
- 2XX : 요청이 성공적으로 수행
- 3XX : 리다이렉션이 필요(다른 페이지로의 이동)
- 4XX : 클라이언트측 오류
- 5XX : 서버측 오류
상태 코드 자료
참고자료