노트 :

URI 설계 원칙 (RFC-3986) 본문

CS

URI 설계 원칙 (RFC-3986)

IT_달토끼 2023. 12. 26. 14:21

 

① 슬래시 구분자 (/)는 계층 관계를 나타내는 데 사용한다.

https://example.co.kr/classes/java/curriculums/web-master 

 

② URI  마지막 문자로 (/)는 포함하지 않는다.

https://example.co.kr/classes/java/curriculums/web-master   <- (x)

https://example.co.kr/classes/java/curriculums/web-master     <- (o)   

 

③ 하이픈(-)은 가독성을 높이는데 사용한다.

https://example.co.kr/classes/java/curriculums/web-master

 

④ 밑줄(_)은 사용하지 않는다.

https://example.co.kr/classes/java/curriculums/web_master     <- (x)   

https://example.co.kr/classes/java/curriculums/web-master      <- (o)   

 

④ URI  경로에는 소문자를 사용한다.

https://example.co.kr/classes/JAVA/curriculums/web-master     <- (x)   

https://example.co.kr/classes/java/curriculums/web-master       <- (o)   

 

⑤ 파일 확장자는 URI에 포함하지 않는다.

https://example.co.kr/classes/java/curriculums/web-master.jsp    <- (x)   

 

⑥ 프로그래밍 언어에 의존적인 확장자를 사용하지 않는다.

https://example.co.kr/classes/java/curriculums/web-master.do     <- (x)   

 

⑦ 구현에 의존적인 경로를 사용하지 않는다.

https://example.co.kr/servlet/classes/java/curriculums/web-master     <- (x)   

 

⑧ 세션 ID를 포함하지 않는다.

https://example.co.kr/classes/java/curriculums/web-master?session-id=abcdef     <- (x)   

 

⑨ 프로그래밍 언어의 Method명을 이용하지 않는다

https://example.co.kr/classes/java/curriculums/web-master?action=intro     <- (x)   

 

⑩ 명사에 단수형 보다는 복수형을 사용해야 한다. 컬렉션에 대한 표현은 복수를 사용한다.

https://example.co.kr/classe/java/curriculum/web-master         <- (x) 

https://example.co.kr/classes/java/curriculums/web-master     <- (o)    

 

⑪ 컨트롤러 이름으로는 동사나 동사구를 사용한다.

https://example.co.kr/classes/java/curriculums/web-master/alteration     <- (x) 

https://example.co.kr/classes/java/curriculums/web-master/alter            <- (o)       

 

⑫ 경로 부분 중 변하는 부분은 유일한 값으로 대체한다.

https://example.co.kr/classes/java/curriculums/web-master/lessons/{lesson-id}/users/{user-id}

* path variable 적용 될 시

https://example.co.kr/classes/java/curriculums/web-master/lessons/2/users/100

 

⑬ CRUD 기능을 나타내는 것은 URI에 사용하지 않는다.

https://example.co.kr/classes/java/curriculums/web-master/lessons/2/users/100/READ     <- (x) 

 

⑭ URI Query Parameter 디자인

。URI 쿼리 부분으로 컬렉션 결과에 대해서 필터링 할 수 있다.

https://example.co.kr/classes/java/curriculums/web-master?chapter=2

。URI 쿼리는 컬렉션의 결과를 페이지로 구분하여 나타내는데 사용한다.

https://example.co.kr/classes/java/curriculums/web-master?chapter=2&page=0&size=10&sort=asc

 

⑮ API에 있어서 서브 도메인은 일관성 있게 사용해야 한다. 클라이언트 개발자 포탈 서브 도메인은 일관성 있게 만든다.

https://api.example.co.kr/classes/java/curriculums/web-master?chapter=2       <- (o) 

https://api-example.co.kr/classes/java/curriculums/web-master?chapter=2       <- (o) 

https://developer.example.co.kr/classes/java/curriculums/web-master?chapter=2       <- (o) 

https://developer-example.co.kr/classes/java/curriculums/web-master?chapter=2       <- (o) 

 

 

 

 

 

 

 

참고: <한번에 끝내는 Java/Spring 웹 개발 초격차 패키지> 패스트 캠퍼스, 예상국 강사님

'CS' 카테고리의 다른 글

REST API 메서드의 특징  (0) 2023.12.26
REST API  (0) 2023.12.26
메모리 종류  (0) 2023.05.10
Atmel AVR - ATmega128  (0) 2023.05.02
TCP/IP 참조 모델 및 OSI 참조 모델  (0) 2023.04.22