URL 인코딩 요구 사항 및 고려 사항
PTC RV&S 클라이언트 URL을 구성할 때 인코딩은 명령 옵션의 값에 대해서만 필요합니다(전체 URL을 인코딩하지 않음).
PTC RV&S는 모든 들어오는 PTC RV&S 클라이언트 URL이 RFC 1738에 따라 인코딩되어 모든 URL 데이터를 UTF-8로 전환할 수 있다고 간주합니다. 모든 인코딩 및 디코딩은 WWW 컨소시엄의 권장 사항에 따라 UTF-8 인코딩 스키마를 사용하여 최대의 호환성을 제공합니다. 예를 들어 공백 문자는 %20으로 인코딩됩니다. 자세한 내용을 보려면 http://docs.oracle.com/javase/8/docs/api/java/net/URLEncoder.html로 이동하십시오.
모든 잘못된 문자는 백분율(%) 문자와 문자에 대한 ISO-Latin 코드 포인트를 나타내는 2자리 16진수로 인코딩됩니다.
다음은 인코딩 옵션이 포함된 PTC RV&S 클라이언트 URL의 예입니다.
integrity://localhost:9001/im/viewissue?selection=12345&asof=%222012-01-01%2014%3a01%3a00%20z%22
여기서 2012-01-01 12:01:00 z가 인코딩되었습니다.
integrity://localhost:9001/si/viewproject?project=%2FTestProject%2Fproject.pj
여기서 /TestProject/project.pj가 인코딩되었습니다.
integrity://localhost:9001/im/viewissue?selection=12345&asof=jwWiki%20%e3%82%a2%e3%83%bc%e3%83%86%e3%82%a3%e3
integrity://localhost:9001/extended-web-ui/%2Fitems%3Fquery%3DA%2A%21-_가 인코딩되었습니다.
integrity://localhost:9001/extended-web-ui/%2Fitems%3Fquery%3Dquick%20query가 인코딩되었습니다.
%82%af%e3%83%ab
여기서 asof=jwWiki アーティクル가 인코딩되었습니다.
PTC RV&S 클라이언트 URL을 생성하는 사용자 정의 트리거 스크립트 또는 사용자 정의 작업을 작성하는 경우 java.net.Encoder와 같은 표준 라이브러리를 사용하여 URL의 명령 옵션 값을 인코딩하는 것이 좋습니다. 예를 들어 Java 인코더 클래스를 호출하여 인코딩할 수 있습니다.
java.net.URLEncoder.encode(some_URL, "UTF-8")
이 인코더 클래스는 RFC 1738(URL 사양)을 준수하고 실행 시 PTC RV&S 클라이언트 URL이 PTC RV&S 클라이언트에 의해 올바르게 디코딩될 수 있도록 합니다. 자세한 내용을 보려면 http://www.rfc-editor.org/rfc/rfc1738.txt로 이동하십시오.
트리거 스크립트 파일 changePackageNotification.js는 이 java 클래스를 사용하여 다음 예에서와 같이 PTC RV&S 클라이언트 URL의 명령 옵션을 인코딩합니다.
/** 
* Return a URL-encoded string version of the argument passed in.
*/
function urlEncode(arg)
{
try {
return java.net.URLEncoder.encode(arg,"UTF-8");
} catch (err) {
// Fall-through
}
// If UTF-8 failed, just use the default encoding.
return java.net.URLEncoder.encode(arg);
}
다음 표에 PTC RV&S 클라이언트 URL의 명령 옵션 값 인코딩에 대한 요구 사항 및 고려 사항이 설명되어 있습니다.
문자 유형
코딩 요구 사항/고려 사항
ASCII 제어 문자
범위 00-1F 및 7F 내의 모든 문자를 인코딩해야 합니다.
예약된 문자
다음 특수 문자는 예약된 문자입니다.
달러 기호($) 인코딩 24%
앰퍼샌드(&) 인코딩 %26
더하기 기호(+) 인코딩 %2B
쉼표(,) 인코딩 %2C
슬래시(/) 인코딩 %2F
콜론(:) 인코딩 %3A
세미콜론(;) 인코딩 %3B
등호(=) 인코딩 %3D
물음표(?) 인코딩 %3F
at 기호(@) 인코딩 40%
별표( * ) 인코딩 %2A
느낌표( ! ) 인코딩 %21
안전하지 않은 문자
일부 특수 문자는 URL 내에서 잘못 이해될 가능성이 있습니다. 예를 들어 호환되지 않거나 신뢰하지 못할 수 있습니다. PTC에서는 다음 문자를 인코딩할 것을 권장합니다.
공백() 인코딩 20%(특히 여러 공백)
따옴표("") 인코딩 %22
보다 작음 기호(\<) 인코딩 %3C
보다 큼 기호(\>) 인코딩 %3E
숫자 기호(#) 인코딩 23%
백분율(%) 인코딩 25%
왼쪽 중괄호({) 인코딩 %7B
오른쪽 중괄호(}) 인코딩 %7D
세로 막대/세로줄(|) 인코딩 %7C
백슬래시(\) 인코딩 %5C
캐럿(^) 인코딩 %5E
틸드(~) 인코딩 %7E
왼쪽 대괄호([) 인코딩 %5B
오른쪽 대괄호(]) 인코딩 %5D
억음 악센트(') 인코딩 60%
지원되는 특수 문자
다음 특수 문자는 허용되며 인코딩할 필요가 없습니다.
하이픈( - ) 인코딩 -
밑줄( _ ) 인코딩 _
ASCII가 아닌 문자
모든 비 ASCII 문자를 인코딩해야 합니다. 여기에는 ISO-Latin 세트 80-FF 16진수의 위쪽 반이 포함됩니다.
유니코드 문자
모든 유니코드 문자를 인코딩해야 합니다. FF 위의 모든 항목이 포함됩니다.
도움이 되셨나요?