URI (Uniform Resource Identifier)
- 인터넷에서 특정 자원을 나타내는 주소 값. 해당 값은 유일하다. (응답은 달라질 수 있다.)
URL (Uniform Resource Locator)
- 인터넷 상에서의 자원, 특정 파일이 어디에 위치하는지 식별하는 주소
- 특정 웹 서버의 특정 파일에 접근하기 위한 경로 혹은 주소
- URI의 하위 개념이다.
접근 프로토콜 / IP주소 또는 도메인 이름 / 문서의 경로 / 문서의 이름
REST API URI 설계 규칙
- A trailing forward slash (/) should not be included in URIs.
URI의 마지막에는 슬래시를 포함하지 않는다. - Forward slash separator (/) must be used to indicate a hierarchical relationship.
계층 관계를 나타낼 때는 슬래시 구분자를 사용한다. - Hyphens (-) should be used to improve the readability of URIs.
가독성을 높이기 위해 하이픈을 사용한다. - Underscores (_) should not be used in URIs.
언더바는 사용하지 않는다. - Lowercase letters should be preferred in URI paths.
소문자를 사용한다. - File extensions should not be included in URIs.
파일 확장자는 URI에 포함시키지 않는다. - Keep the URI format consistent and always use a plural.
URI 형식을 일관성 있게 유지하되, 항상 복수형을 사용한다.
https://dzone.com/articles/7-rules-for-rest-api-uri-design-1
URI 설계 원칙(RFC-3986)
- 슬래시 구분자는 계층 관계를 나타내는 데 사용한다.
- URI 마지막 문자로 슬래시는 포함하지 않는다.
- 하이픈은 URI 가독성을 높이는 데 사용한다.
- 밑줄(under score)은 사용하지 않는다.
- URI 경로에는 소문자가 적합하다.
- 파일 확장자는 URI에 포함하지 않는다.
- 프로그래밍 언어에 의존적인 확장자를 사용하지 않는다.
- 구현에 의존적인 경로를 사용하지 않는다.
- 세션 ID를 포함하지 않는다.
- 프로그래밍 언어의 Method명을 이용하지 않는다.
- 명사에 단수형보다는 복수형을 사용해야 한다. 컬렉션에 대한 표현은 복수로 사용한다.
- 컨트롤러 이름으로는 동사나 동사구를 사용한다.
- 경로 부분 중 변하는 부분은 유일한 값으로 대체한다.
- CRUD 기능을 나타내는 것은 URI에 사용하지 않는다.
- URI Query Parameter 디자인
- URI 쿼리 부분으로 컬렉션 결과에 대해서 필터링할 수 있다. - URI 쿼리는 컬렉션의 결과를 페이지로 구분하여 나타내는 데 사용한다.
- API에 있어서 서브 도메인은 일관성 있게 사용해야 한다.
- 클라이언트 개발자 포탈 서브 도메인은 일관성 있게 만든다.
https://www.rfc-editor.org/rfc/rfc3986
'공부 기록 > Web' 카테고리의 다른 글
웹 서버 (Web server) (0) | 2023.01.19 |
---|---|
Brower의 동작 (0) | 2023.01.19 |
HTTP protocol (0) | 2023.01.17 |
REST API (0) | 2023.01.17 |
WEB (1) | 2023.01.17 |