URL


URL

URL은 다음과 같이 구성되어 있다.

image

  • URL 스킴 : URL에 사용된 프로토콜

  • 호스트명 : 웹 서버의 호스트명. 도메인이름 혹은 IP주소로 표현됨

  • 포트번호 : 웹 서버 내의 서비스 포트번호

  • 경로 : 파일이나 애플리케이션 경로

  • 쿼리 스트링 : 질의 문자열. &로 구분된 이름 = 값, 이름 = 값.. 형식

  • 프라그먼트 : 문서 내의 조각을 지칭함


URL을 바라보는 관점에 따라 두가지 방식으로 나눌 수 있다.

  • RPC (Remote Produce Call) 방식 : 클라이언트가 네트워크상의 원격서버가 제공하는 API함수를 호출하는 방식. 여기선 URL경로를 API함수와 같다고 본다. 조금 어려우면 흔히 GET방식에서 사용하는 쿼리문을 생각하면 된다. 웹 개발 초기에 많이 사용된 방식이다.

    ex) http://blog.codelog.com/search?q=test&debug=true
    
  • REST (Representational State Transfer) 방식 : 웹 서버에 존재하는 요소들을 리소스라고 정의하고 URL을 통해 리소스를 표현한다는 개념. 데이터의 교환을 리소스 상태의 교환으로 보며, 리소스 조작을 GET, POST, PUT, DELETE 등의 HTTP 메소드로 구분한다.

    REST방식에 의하면 웹 클라이언트에서 URL을 전송하는 것은 웹 서버에 있는 리소스 상태에 대한 데이터를 주고받는 것이다.

    ex) http://blog.codelog.com/search/test
    


최근에는 간편URL방식을 많이 사용하고 있는데, 기존의 긴 URL에서 특수문자 등을 제거해 짧고 보기쉽게 만든 URL이다. 즉 쿼리 스트링 없이 경로만 가진 구조의 URL을 간편URL이라 한다.

기존 URL간편 URL
http://example.com/index.php?page=foohttp://example.com/foo
http://example.com/product?category=2&pid=25http://example.com/product/2/25
http://example.com/cgi-bin/feed.cgi?feed=news&frm=rsshttp://example.cim/news.rss
http://example.com/app/dashboard/dsptchr_c80.dll?page=3861&mod1=bnr_ant&UID=4511681&SESSID=4fd8b561ac…http://example.com/app/dashboard/reports#monthly

파이썬 프레임워크 (Django, Flask 등)에서는 처음부터 간편 URL 체계를 도입하여 사용하고 있다.





© 2018. by yeo0

Powered by yeo0