상세 컨텐츠

본문 제목

[패스트 캠퍼스] URI 설계 패턴

Fast Campus[패스트캠퍼스 후강후기]

by 매일매일 배우는 개발자 2021. 7. 26. 23:30

본문

728x90

URI (Uniform Resource Identifier)

인터넷에서 특정 자원을 나타내는 주소 값, 해당 값은 유일하다. (응답은 달라질 수 있다)

요청 : https://www.fastcampus.co.kr/resource/sample/1 

응답 : fastcampus.pdf, fastcampus.docx

URL (Uniform Resource Locator)

인터넷 상에서의 자원, 특정 파일이 어디에 위치하는지 식별 하는 주소

요청 : https://www.fastcampus.co.kr/fastcampus.pdf

 

* URL은 URI의 하위 개념

 

URI 설계 원칙(RFC-3986)

  • 슬래시 구분자는 계층 관계를 나타내는 데 사용한다
  • URI 마지막 문자로(/)는 포함하지 않는다.
  • 하이픈(-)은 URI 가독성을 높이는데 사용한다.
  • 밑줄(_)은 사용하지 않는다
  • URI경로에는 소문자가 적합하다.
  • 파일 확장자는 URI에 포함하지 않는다
    • https://www.fastcampus.co.kr/classes/java/curriculums/web-master.jsp
  • 프로그래밍 언어에 의존적인 확장자를 사용하지 않는다.
    • https://www.fastcampus.co.kr/classes/java/curriculums/web-master.do
  • 구현에 의존적인 경로에 사용하지 않는다.
    • https://www.fastcampus.co.kr/servlet/java/curriculums/web-master
  • 세션ID를 포함하지 않는다.
    • https://www.fastcampus.co.kr/classes/java/curriculums/web-master?session-id=abdfef
  • 프로그래밍 언어의 Method명을 이용하지 않는다.
    • https://www.fastcampus.co.kr/classes/java/curriculums/web-master?action=intro
  • 명사에 단수형 보다는 복수형을 사용해야 한다. 컬렉션에 대한 표현은 복수로 사용한다.
    • https://www.fastcampus.co.kr/classes/java/curriculums/web-master
  • 컨트롤러 이름으로는 동사나 동사구를 사용한다
    • ex)https://www.fastcampus.co.kr/classes/java/curriculums/web-master/re-order
  • 경로 부분 중 변하는 부분은 유일한 값으로 대체 한다.
  • CRUD 기능에 나태는는 것은 URI에 사용하지 않는다.
  • URI Query Parameter 디자인 URI 쿼리 부분으로 컬렉션 결과에 대해서 필터링 할 수 있다.
  • URI 쿼리는 컬렉션의 결과를 페이지로 구분하여 나타내는데 사용한다.
  • API에 있어서 서브 도메인은 일관성 있게 사용해야 한다.
  • 클라이언트 개발자 포탈 서브 도메인은 일관성 있게 만든다.

 

 

728x90

관련글 더보기