HTTP (HyperText Transfer Protocol)
1. 통신 규약
2. 웹 상태에서 데이터를 주고받기 위한 프로토콜
3. 클라이언트와 서버 간의 요청과 응답을 정의
4. 상태 코드와 헤더를 포함한 다양한 요소를 가짐
5. 클라이언트 - 서버 모델을 기반으로 동작
6. 클라이언트가 요청을 보내면 서버가 응답을 반환
7. 응답은 텍스트 기반의 메시지로 이뤄짐
HTTP의 특징
1. 무상태성 (이전 정보를 기억하지 않음)
2. 확장성 (확장 헤더를 추가해 기능 확장 가능)
3) 유연성 (다양한 데이터 형식 전송 가능)
HTTP의 메시지 구조
요청(Request)과 응답(Response)으로 나뉨
요청 메시지: 클라이언트가 서버로 데이터를 요청할 때 사용
1. 요청 라인: 메서드(GET, POST 등), URL, HTTP 버전
2. 헤더: 요청의 추가 정보 (브라우저 정보, 인증 정보 등)
3. 본문: 선택적, 주로 POST 메서드에서 사용
응답 메시지: 서버가 클라이언트의 요청에 대한 응답을 보낼 때 사용
1.상태 라인: HTTP 버전, 상태 코드(200, 404 등), 상태 메시지
2. 헤더: 응답의 추가 정보 (메타 데이터) → 콘텐츠 타입, 데이터 길이 등
3. 본문: 선택적, 주로 응답 데이터
HTTP 상태코드
1. 1xx:
정보
100
1. Continue
2. 요청의 일부를 서버가 받았으며,
나머지를 계속 보내라는 의미
2. 2xx:
성공
200
1. OK
2. 요청이 성공적으로 처리되었음을 나타냄
201
1. Created
2. 요청이 성공적이었으며, 새로운 자원이 생성되었음을 나타냄
3. 3xx:
리다이렉션 (Redirection)
301
1. Moved Permanently
2. 요청한 리소스가 영구적으로 새로운 URL로 이동했음을 나타냄
302
1. Found
2. 요청한 리소스가 임시로 다른 URL로 이동했음을 나타냄
4. 4xx:
클라이언트 오류
400
1. Bad Request
2. 잘못된 요청임을 나타냄
401
1. Unauthorized
2. 인증이 필요함을 나타냄
404
1. Not Found
2. 요청한 리소스를 찾을 수 없음을 나타냄
5. 5xx:
서버 오류
500
1. Internal Server Error
2. 서버가 요청을 처리하는 동안 오류가 발생했음을 나타냄
502
1. Bad Gateway
2. 서버가 게이트웨이 또는 프록시 역할을 하는 서버로부터
효하지 않은 응답을 받았음을 나타냄
Rest API
GET
1. 서버에서 데이터를 요청할 때 사용
2. 요청 데이터가 URL에 포함되어 전송
3. 데이터를 조회할 때 사용
4. Rest API에서는 특정 리소스를 조회할 때 사용
POST
1. 서버에 데이터를 제출할 때 사용
2. 요청 데이터가 요청 본문에 포함되어 전송
3. 데이터를 생성하거나 제출할 때 사용
4. Rest API에서는 새로운 리소스를 생성할 때 사용
DELETE
1. 서버의 데이터를 삭제할 때 사용
2. 주로 특정 데이터를 삭제할 때 사용
3. Rest API에서는 특정 리소스를 삭제할 때 사용
PUT, PATCH
1. 서버의 데이터를 업데이트 할 때 사용
2. 요청 데이터가 요청 본문에 포함되어 전송
3. 주로 기존 데이터를 수정할 때 사용
4. Rest API에서는 새로운 리소스를 생성할 때 사용
'내일배움캠프 동영상 강의 > 내배캠_React 심화' 카테고리의 다른 글
axios (GET, POST) (1) | 2024.10.30 |
---|---|
json server (0) | 2024.10.30 |
promise all, async / await (0) | 2024.10.30 |
동기, 비동기, promise (0) | 2024.10.29 |
용어 (1) | 2024.10.29 |