URI에서 사용할 수 있는 문자 알파벳: A-Za-z 숫자: 0-9 기호: -.~:@!$&'() 그 외의 문자들은 %인코딩으로 처리됨 (특별한 이유가 없는 한 UTF-8로 %인코딩 처리)
URI 길이 제한 스펙상으로는 제한 없음 . 하지만 구현상으로는 제한이 존재(IE: 2,038byte)
다양한 스키마 j.mp/uri_schemes j.mp/uri_scheme_w
URI의 스펙
URI를 다룰때 특히 주의해야 할 것
상대 URI해석 클라이언트에서 상대 URI를 해석하기 위해선 번거러운 처리가 필요 웹서비스와 웹 API를 구현할때는 가능한 절대 URI 사용
%인코딩 다루기 가능한 UTF-8 이용
URI설계
쿨(Cool)한 URI는 변하지 않는다
변하지 않는 URI 만들기(URI설계지침) Cool URI = 심플한 URI
URI에 프로그래밍 언어에 의존적인 확장자를 이용하지 않는다(.pl, .rb, .do, .jsd 등)
URI에 구현에 의존적인 경로명을 이용하지 않는다.(cgi-bin, servlet 등)
URI에 프로그래밍 언어의 메서드명을 이용하지 않는다
URI에 세션 ID를 포함하지 않는다
URI는 해당 리소스를 표현하는 명사이다
URI를 변경해야 할 때 Redirect...
URI설계
URI 설계 테크닉
확장자로 표현을 지정 http://example.com/2010/05/01/press.ko http://example.com/2010/05/01/press.en
매트릭스 URI 계층 구조를 표현하는 슬래시(/) 대신 세미콜론(;)이나 콤마(,)를 통해 매트릭스 URI로 표현 http://example.com/map/lat-35.34523;lng=139.324451 http://example.com/map/35.34523,139.324451