1. URI(Uniform Resource Identifier)
인터넷에서 특정 자원을 나타내는 주소 값 , 해당 값은 유일 하다 . (응답은 달라질 수 있다.)
예시 )
요청 : https://www.ugo.co.kr/resource/sample/1
응답 : ugo.pdf , ugo.docx 응답은 여러가지일 수 있다 .
2. URL(Uniform Resouce Locator)
인터넷 상에서의 자원, 특정 파일이 어디에 위치하는지 식별 하는 주소
요청: https://www.ugo.co.kr/ugo.pdf 특정 위치를 나타낸다 .
URL은 URI의 하위 개념이다 .
URI 설계 원칙(RFC-3986)
1.슬래시 구분자 (/) 는 계층 관계를 나타내는데 사용한다 .
https://www.ugo.co.kr/resource/sample/1
2.URI 마지막 문자로 ( / )는 포함하지 않는다 .
https://www.ugo.co.kr/resource/sample/1/ (X)
3.하이픈(-)은 URI 가독성을 높이는데 사용한다. 밑줄은 사용하지 않는다
https://www.ugo.co.kr/resource/sample/1/web-master
https://www.ugo.co.kr/resource/sample/1/web_master(X)
4.URI 경로에는 소문자가 적합하다
https://www.ugo.co.kr/resource/SAMPLE/1/web_master (X)
5.파일 확자는 URI에 포함하지 않는다.
https://www.ugo.co.kr/resource/sample/1/web-master.jsp(X)
6.프로그래밍 언어에 의존적인 확장자를 사용하지 않는다.
https://www.ugo.co.kr/resource/sample/1/web-master.do(X)
7.구현에 의존적인 경로는 사용하지 않는다.
https://www.ugo.co.kr/servlet/sample/1/web-master.do(X)
8.세션 ID를 포함하지 않는다 .
https://www.ugo.co.kr/servlet/sample/1/web-master?session-id =abcd(X)
9. 프로그래밍 언어의 Method명을 이용하지 않는다 .
https://www.ugo.co.kr/sample/1/web-master?action = intro (X)
10. 명사에 단수형 보다는 복수형을 사용해야한다 . 컬렉션에 대한 표현은 복수로 사용
https://www.ugo.co.kr/resources/samples/1/web-master
11. 컨트롤러 이름으로는 동사나 동사구를 사용한다 .
https://www.ugo.co.kr/resources/samples/1/web-master/re-order
12. 경로 부분 중 변하는 부분은 유일한 값으로 대체 한다 . PathVariable이라고 한다.
https://www.ugo.co.kr/resources/samples/{lesson-id}/web-master/{user-id}
https://www.ugo.co.kr/resources/samples/1/web-master/100
13. CRUD 기능을 나타내는 것은 URI에 사용하지 않는다.
GET : https://www.ugo.co.kr/resources/samples/1/web-master/100/READ (X)
DELETE: https://www.ugo.co.kr/resources/samples/1/web-master/100 (O)
14. URI Query Parameter 디자인
URI 쿼리 부분으로 컬렉션 결과에 대해서 필터링 할 수 있다 .
https://www.ugo.co.kr/resources/samples/1/web-master?chapter=2
URI 쿼리는 컬렉션의 결과를 페이지로 구분하여 나타내는데 사용한다 .
https://www.ugo.co.kr/resources/samples/1/web-master?chapter=2 & page = 0 & size = 10 & sort = asc
15. API에 있어서 서브 도메인은 일관성 있게 사용해야 한다 .
16. 클라이언트 개발자 포탈 서브 도메인은 일관성 있게 만든다 .
'Web 지식' 카테고리의 다른 글
웹 개발 기본 공부 6 - HTTP 메서드 (0) | 2021.05.17 |
---|---|
웹 개발 기본 공부 5 - HTTP 란? (0) | 2021.05.17 |
웹 개발 기본 공부 4 - PORT , DNS (0) | 2021.05.09 |
웹 개발 기본 공부 3 - IP(인터넷 프로토콜),TCP , UDP (0) | 2021.05.09 |
웹 개발 기본 공부 1 -Web의 구성 , REST (0) | 2021.05.07 |