API란?
클라이언트,서버와 같은 서로 다른 프로글챔에서 요청과 음답을 주고 받을 수 있게 만든 체계
REST API란?
- REST API는 웹에서 데이터를 주고 받기 위한 아키텍처 스타일이며 규약을 의미한다.
- 자원을 URI 로 표현하고 , HTTP 메서드(GET,POST,PUT,DELETE 등) 을 통해 자원을 다룬다.
특징
- 상태 비저장성(무상태)
- 각 요청이 독립적으로 처리되기 때문에 서버 확장서과 유지보수에 유리
- 응답은 주로 JSOIN 형식으로 전달
- 캐싱을 활용할 수 있어 성능면에서 우수하다. (이게 무슨 의미지 확인)
- 계층화
- 클라이언트/서버 구조
REST 구성요소
- 자원(Resource) : HTTP URL
- 자원에 대한 행위 : HTTP Method
- 자원에 대한 표현 : Representation
1.자원(Resource) : HTTP URL
- 자원은 서버에 존재하는 데이터의 대상
- 일반적으로 복수형 명사를 사용
- /users , /post/1 이렇게 표현한다.
2.자원에 대한 행위 : HTTP Method
- 클라이언트가 자원에 대해서 어떻게 동작 할 것인지 나타낸다.
- HTTP 메서드(GET,POST,PUT,DELETE 등) 자세한거는 아래에 설명
3.자원에 대한 표현 : Representation
- 자원의 상태나 정보를 클라이언트에게 전달하는것
- 주로 json , xml 형식으로 전송
{
"id": 1,
"name": "Alice",
"email": "alice@example.com"
}
HTTP Method
메서드 의미 예시
| GET | 조회 | GET /users/1 |
| POST | 생성 | POST /users |
| PUT | 전체 수정 | PUT /users/1 |
| PATCH | 일부 수정 | PATCH /users/1 |
| DELETE | 삭제 | DELETE /users/1 |
HTTP 상태코드(응답코드)
상태 코드 의미
| 100 | 진행중을 의미하는코 |
| 201 | Created (생성 성공) |
| 200 | OK (성공) |
| 204 | No Content (삭제 성공 등) |
| 400 | Bad Request (잘못된 요청) |
| 401 | Unauthorized (인증 필요) |
| 403 | Forbidden (권한 없음) |
| 404 | Not Found (자원 없음) |
| 500 | Internal Server Error |
1XX
클라이언트의 요청을 받았고 계속 처리 중임을 의미실제 응답 데이터는 아직 아님.
2XX
클라이언트의 요청을 정상적으로 처리했음을 의미
3XX
리다이렉션필요 ⇒ 클라이언트가 요청한 리소스가 다른 위치로 이동됨을 의미함
4XX
클라이언트의 요청에 문제가 있음을 의미합니다.
5XX
서버가 요청을 정상적으로 처리하지 못함을 의미합니다. 클라이언트 잘못 아님.
REST API 설계 규칙
- URI 명사를 이용해서 자원을 명시한다.
- GET /members/1
- HTTP메서드 활용하여 매핑
- GET / POST / PUT / PATCH / DELETE
- 계층적 URI 설계
- GET /users/1/orders # 1번 사용자의 주문 목록
- 파일 확장자명은 포함하지 않는다.
- URI가 길어지는 경우 _ 대 - 을 이용한다
- GET /users/profile_image (X) →GET /users/profile-image (O)
- 행위를 포함하지 않는다.
RESTful API란?
REST 원칙을 엄격하게 지킨 API를 의미하며 실제로 많은 웹 서비스와 백엔드-프론트 간 데이터 통신 표준으로 널리 사용되고 있다.
반응형
'CS > 네트워크' 카테고리의 다른 글
| [네트워크] 소켓(Socket)이란? (0) | 2026.01.02 |
|---|---|
| [네트워크]TCP/IP란? (0) | 2025.06.14 |
| [네트워크]TCP/IP 와 OSI7 계층 (0) | 2025.06.14 |
| HTTP/HTTPS 란? (0) | 2025.05.02 |
| [네트워크] 쿠키와 세션 (0) | 2025.03.23 |