-
URL 설계Technique/WEB 2019. 9. 16. 16:54반응형
URL의 설계는 웹 서버 로직 설계의 첫걸음이고, 사용자 또는 웹 클라이언트에게 웹 서버가 가지고 있는 기능을 명시해주는 중요한 단계이다. 전체 프로그램 로직을 생각하면서 차후에 로직이 변경되더라도 URL 변경은 최소화할 수 있도록 유연하게 설계하는 것이 중요하다.
- URL 스킴 : URL에 사용된 프로토콜을 의미
- 호스트 명 : 웹 서버의 호스트명으로, 도메인명 또는 IP주소로 표현된다.
- 포트 번호 : 웹 서버 내의 서비스 포트번호이다. 생략 시에는 디폴트 포트번호로 http는 80을 https는 443을 사용
- 경로 : 파일이나 애플리케이션 경로를 의미
- 쿼리스트링 : 질의 문자열로, 앰퍼샌드(&)로 구분된 키=값 쌍의 형식으로 표현한다.
- 프라그 먼트 : 문서 내의 앵커 등 조각을 지정한다.
URL을 바라보는 측면
웹 서버에 존재하는 애플리케이션에 대한 API라고 할 수 있다. 웹 프로그래밍 기술의 발전 과정을 살펴보면 이러한 API의 명명 규칙을 정하는 방법을 두 가지로 분류할 수 있다.
하나는 URL을 RPC (Remote Procedure Call)로서 바라보는 방식이고 다른 하나는 REST (Representational State Transfer)로서 바라보는 방식이다.
RPC
클라이언트가 네트워크 상에서 원격에 있는 서버가 제공하는 API 함수를 호출하는 방식이다.
이 방식의 배경에는 URL 설계와 API 설계를 동일하게 고려하여 URL의 경로를 API 함수명으로, 쿼리 파라미터를 함수의 인자로 간주한다. 따라서 웹 클라이언트에서 URL을 전송하는 것이 웹 서버의 API 함수를 호출한다고 인식하는 것이다.
URL 경로의 대부분이 동사가 된다. 자바의 일반적인 함수나, 메서드명이 동사인 것과 동일한 개념이다. RPC 방식은 웹 개발 초기부터 사용된 방식으로 REST 방식이 나오면서 사용 빈도가 많이 줄어들긴 했으나, 여전히 많이 사용되는 방식이다.
http://blog.example.com/search?q=test&debug=true
REST
웹 서버에 존재하는 요소들을 모두 리소스라고 정의하고, URL을 통해 웹 서버의 특정 리소스를 표현한다는 개념이다. 리소스는 시간이 지남에 따라 상태가 변할 수 있기 때문에 클라이언트와 서버 간에 데이터 교환을 리소스 상태의 교환으로 간주하고 있다. 그리고 리소스에 대한 조작을 GET, POST, PUT, DELETE 등의 HTTP메서드로 매핑하고 있다.이런 방식은 웹 클라이언트에서 URL을 전송하는 것이 웹 서버에 있는 리소스 상태에 대한 데이터를 주고받는 것으로 간주할 수 있다.
http://blog.example.com/search/test
반응형'Technique > WEB' 카테고리의 다른 글
웹 어플리케이션 서버 (0) 2019.09.16 HTTP 상태 코드 (0) 2019.09.16 HTTP 처리 방식 (0) 2019.09.16 HTTP 프로토콜 (0) 2019.09.16 웹 프로그래밍 (0) 2019.09.16