개발새발/Spring

220206_스프링입문_웹 개발 개론_URI 설계 패턴_패스트캠퍼스 챌린지 14일차

막동이아빠 2022. 2. 6. 22:46

220206_스프링입문_웹 개발 개론_URI 설계 패턴_패스트캠퍼스 챌린지 14일차

<2022년 02월 06일 _ 패스트캠퍼스 챌린지 14일차>

[스프링입문_웹 개발 개론_URI 설계 패턴]

1. URI (Uniform Resource Identifier)

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

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

 : 응답 : fastcampus.pdf, fastcampus.docx...

 

2. URL (Uniform Resource Locator)

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

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

 

 URL은 URI의 하위 개념

 

3. URI 설계 원칙 (RFC-3986)

 (1) 슬래시 구분자(/)는 계층 관계를 나타내는 데 사용함

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

 

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

   : https://fastcampus.co.kr/classes/java/curriculums/web-master/ (X)

 

 (3) 하이픈(-)은 URI 가독성을 높이는데 사용함

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

 

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

   : https://fastcampus.co.kr/classes/java/curriculums/web_master (X)

 

 (5) URI 경로에는 소문자가 적합함

   : https://fastcampus.co.kr/classes/JAVA/curriculums/web-master (X)

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

 

 (6) 파일 확장자는 URI에 포함하지 않는다

   : https://fastcampus.co.kr/classes/java/curriculums/web-master.jsp (X)

 

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

   : https://fastcampus.co.kr/classes/java/curriculums/web-master.do (X)

 

 (8) 구현에 의존적인 경로를 사용하지 않는다

   : https://fastcampus.co.kr/servlet/classes/java/curriculums/web-master (X)

 

 (9) 세션 ID를 포함하지 않는다

   : https://fastcampus.co.kr/classes/java/curriculums/web-master?session-id=abcdef (X)

 

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

   : https://fastcampus.co.kr/classes/java/curriculums/web-master?action=intro (X)

 

 (11) 명사에 단수형보다는 복수형을 사용해야 한다. 컬렉션에 대한 표현은 복수로 사용

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

 

 (12) 컨트롤러 이름으로는 동사나 동사구를 사용한다

   : https://fastcampus.co.kr/classes/java/curriculums/web-master/re-order

 

 (13) 경로 부분 중 변하는 부분은 유일한 값으로 대체한다

   : ... /web-master/lessons/{lesson-id}/users/{user-id}

     --> ... /web-master/lessons/2/users/100

 

 (14) CRUD 기능을 나타내는 것은 URI에 사용하지 않는다

   : GET : .../web-master/lessons/2/users/100/READ (X)

   : DELETE : .../web-master/lessons/2/users/100

 

 (15) URI Query Parameter 디자인

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

     --> .../web-master?chapter=2

 

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

   : .../web-master?chapter=2&page=0&size=10&sort=asc

 

 (17) API에 있어서 서브 도메인은 일관성 있게 사용해야 한다

   : https://fastcampus.co.kr

   : https://api.fastcampus.co.kr

   : https://api-fastcampus.co.kr

 

 (18) 클라이언트 개발자 포탈 서브 도메인은 일관성 있게 만든다

   : https://dev-fastcampus.co.kr 

   : https://developer-fastcampus.co.kr

 

14일차 강의 완료~

필기 & 내 화면 스크린샷 저장

 

 

https://bit.ly/37BpXiC

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.