URI (Uniform Resource Identifier)
: 인터넷에서 리소스를 식별하기 위한 고유한 문자열.
쉽게 말해, 이 자원이 뭔지를 알려주는 이름표
URL, URN이 URI의 하위 개념
URL (Uniform Resource Locator)
: 인터넷에서 리소스의 ‘위치’를 알려주는 주소
https://, ftp:// 같은 프로토콜이 포함됨
* URI vs URL
인터넷 자원의 위치를 나타내는 경우: URL (= URI 포함)
단순히 식별자(이름표) 역할만 하는 경우: URI
자원 식별 방식
리소스를 요청할 때는 보통 두 가지 방식을 쓴다.
Path Variable → 리소스를 계층 구조로 표현
/users/1
/users/2
/users/3
Query Parameter → 키-값 형태로 조건을 전달
/users?id=1
/users?id=2
/users?id=3&title=3
REST: 자원을 이름(URI)으로 구분하고, HTTP 메서드로 자원에 대한 행위를 정의하는 방식
API: 소프트웨어끼리 통신할 수 있도록 제공되는 인터페이스
즉, REST API = REST 원칙을 따르는 API
=> 클라이언트(프론트엔드)와 서버(백엔드)가 데이터를 주고받는 약속
/ (슬래시) → 계층 구조를 나타낼 때만 사용
마지막에 / 넣지 않기
http://api.example.com/school/class ✅
http://api.example.com/school/class/ ❌
가독성을 위해 하이픈(-) 사용
http://api.example.com/api/good-day ✅
http://api.example.com/api/good_day ❌
소문자만 사용하기
http://api.example.com/api/my-page ✅
http://api.example.com/api/MyPage ❌
클라이언트가 서버에 요청을 보내면, 서버는 상태 코드(Status Code) 로 결과를 알려준다.
<자주 쓰이는 6가지 코드>
200 OK → 요청 성공
201 Created → 새로운 리소스 생성 성공 (ex. 회원가입 완료)
400 Bad Request → 잘못된 요청 (필수 값 누락, 문법 오류 등)
401 Unauthorized → 인증 실패 (로그인 필요, 토큰 없음)
404 Not Found → 요청한 리소스 없음
500 Internal Server Error → 서버 내부 오류 (개발자가 고쳐야 할 문제)



https://www.notion.so/API-27d9a05bdd1f80fd933ec1d64e554566?source=copy_link
