URI vs URL
URI (Uniform Resource Identifier): 인터넷에서의 자원의 식별자(identifier)
URL (Uniform Resource Locator): 인터넷에서의 자원의 주소(Location)
URI는 URL의 상위 개념.
URI는 자원을 식별하고, URL은 자원의 위치를 가르친다.
Example
http://www.google.co.kr:80/hakawati/ -> 자원이 위치하는 장소를 의미. (URL)
uri.php?url=urn#Rnfwoa -> 앞선 자원의 위치에서 각 자원을 유일하게 식별해준다. (URI – URL)
http://www.google.co.kr:80/hakawati/uri.php?url=urn#Rnfwoa -> (URI)
URI 설계원칙 (RFC-2986)
1. 슬래시 구분자 (/)는 계층 관계를 나타내는 데 사용.
2. URI 마지막 문자로 (/)는 포함하지 않는다.
3. 하이픈(-)은 URI 가독성을 높이는 데 사용한다.
4. 밑줄(_)은 사용하지 않는다.
5. URI 경로에는 소문자가 적합하다.
6. 파일 확장자는 URI에 포함하지 않는다.
7. 프로그래밍 언어에 의존적인 확장자를 사용하지 않는다.
8. 구현에 의존적인 경로를 사용하지 않는다.
9. 세션 ID를 포함하지 않는다.
10. 프로그래밍 언어의 Method 명을 사용하지 않는다.
11. 명사에 단수형보다는 복수형을 사용해야 한다. 컬렉션에 대한 표현은 복수로 사용.
12. 컨트롤러 이름은 동사나 동사구를 사용한다.
13. 경로 부분 중 변하는 부분은 유일한 값으로 대체한다.
14. CRUD 기능을 나타내는 것은 URI에 사용하지 않는다.
15. URI 쿼리 부분으로 컬렉션 결과에 대해서 필터링할 수 있다.
16. URI 쿼리는 컬렉션의 결과를 페이지로 구분하여 나타내는 데 사용된다.
17. API에 있어서 서브 도메인은 일관성 있게 사용해야 한다.
18. 클라이언트 개발자 포탈 서브 도메인은 일관성 있게 만든다.
'공부' 카테고리의 다른 글
HTTP란? (0) | 2022.08.09 |
---|---|
WAS vs Web Server (0) | 2022.08.09 |
API란? (0) | 2022.08.09 |
컴파일 vs 인터프리터 (0) | 2022.07.17 |
JAVA 함수 정리 (0) | 2022.07.15 |