HyperText Transfer Protocol 의 약자
- HyperText : 참조를 통해 한 문서에서 다른 문서로 접근할 수 있는 텍스트
- Transfer : 전송하다라는 사전적 의미를 가지며 보내는 주체와 받는 주체가 있다는 것이 가장 큰 특징이다.
- Protocol : 협약, 통신규약으로 컴퓨터끼리 어떻게 HTML 파일을 주고 받을지에 대한 약속이다.
- 보내는 주체는 받는 주체에 요청을 보낸다.
- 받는 주체는 보내는 주체의 요청에 대한 응답을 보낸다.
- state(상태) + less(없음)
- 각각의 HTTP 통신은 독립적 이기 때문에 이전 통신에 대한 내용은 알 수 없다.
다시말해 매 통신마다 필요한 모든 정보를 포함해 요청해야한다.- 로그인 토큰, 쿠키 / 세션 스토리지 / 로컬 스토리지 같은 기술이 연속된 데이터 처리가 필요한 경우를 위해 만들어졌다.
- 클라이언트에서 서버에 데이터 처리를 시작하기 위해 보내는 메시지
Start Line , Headers , Body 3가지로 구분
Start Line : 다음 3가지로 구성- 1) HTTP Method - GET / POST / DELETE (요청이 의도한 액션 정의)
- 2) Request target - Request 가 전송되는 목표 URL
- 3) HTTP Version - HTTP 버전
Headers : 해당 요청에 대한 추가정보(메타정보)를 담고 있다.
Body : 해당 요청의 실제 내용으로 POST 메소드를 사용한다.
- Status Line , Headers, Body 3가지로 구분
Status Line : 응답의 상태 줄로 요청에 대한 처리상태를 알려주며 시작한다.
1) HTTP Version - 요청의 HTTP 버전과 동일
2) Status Code - 응답 메세지의 상태 코드
3) Status Text - 응답 메세지의 상태를 간략하게 설명하는 텍스트- Headers : 응답에 대한 추가정보를 담고 있다.
- Body : 응답 내용을 담고 있으며 JSON 타입이 가장 많이 사용된다.
어떤 데이터를 서버로 부터 받아올때 사용하는 메소드
데이터를 받아오기만 할 때 사용된다.
데이터를 생성, 수정할 때 사용되는 메소드
대부분 요청에 body가 포함되어 보내진다.
특정 데이터를 서버에서 삭제 요청을 보낼 때 사용되는 메소드
200 : OK
✅ 문제 없이 요청에 대한 처리가 이뤄졌을 때 보내지는 코드
201 : Created
✅ 대게 POST 요청에 따라 서버에 데이터가 생성 또는 수정됐을 때 보내지는 코드
400 : Bad Request
✅ 해당 요청이 잘못 되었을 때 보내지는 코드
✅ 요청의 Body 내용이 잘 돼있을 때 사용되는 코드
401 : Unauthorized
✅ 요청을 진행하려면 로그인이나 회원가입이 필요하다는 코드
403 : Forbidden
✅ 유저가 해당 요청에 대한 권한이 없다는 뜻
✅ 접근 불가한 정보에 접근했을 경우
404 : Not Found
✅ 요청된 URL 이 존재하지 않는 경우
500 : Internal Server Error
✅ 서버에서 에러가 났을 때 보내지는 코드