Uri Uri Uri Uri Class

정의

URI(Uniform Resource Indentifier)의 개체 표현을 제공하며 URI 부분에 쉽게 액세스할 수 있도록 합니다.Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI.

public ref class Uri : System::Runtime::Serialization::ISerializable
[System.ComponentModel.TypeConverter(typeof(System.UriTypeConverter))]
[System.Serializable]
public class Uri : System.Runtime.Serialization.ISerializable
type Uri = class
    interface ISerializable
Public Class Uri
Implements ISerializable
상속
특성
구현

예제

다음 예제에서는 인스턴스를 만듭니다는 Uri 클래스를 사용 하 여 만들기는 WebRequest 인스턴스.The following example creates an instance of the Uri class and uses it to create a WebRequest instance.

Uri^ siteUri = gcnew Uri( "http://www.contoso.com/" );
WebRequest^ wr = WebRequest::Create( siteUri );
Uri siteUri = new Uri("http://www.contoso.com/");
 
WebRequest wr = WebRequest.Create(siteUri);

Dim siteUri As New Uri("http://www.contoso.com/")
        
Dim wr As WebRequest = WebRequest.Create(siteUri)

설명

URI에는 인트라넷 또는 인터넷에서 응용 프로그램에 사용할 수 있는 리소스의 compact 표현입니다.A URI is a compact representation of a resource available to your application on the intranet or Internet. Uri 속성 및 메서드 구문 분석, 비교 및 결합을 포함 하는 Uri를 처리 하기 위한 클래스를 정의 합니다.The Uri class defines the properties and methods for handling URIs, including parsing, comparing, and combining. 합니다 Uri 클래스 속성 읽기 전용 이며 수정할 수 있는 개체를 만들려면 사용 합니다 UriBuilder 클래스입니다.The Uri class properties are read-only; to create a modifiable object, use the UriBuilder class.

상대 Uri (예를 들어, "/ new/index.htm") 절대 수 있도록 기본 URI와 관련 하 여 확장 해야 합니다.Relative URIs (for example, "/new/index.htm") must be expanded with respect to a base URI so that they are absolute. MakeRelative 필요한 경우 상대 Uri를 절대 Uri를 변환할 메서드가 제공 됩니다.The MakeRelative method is provided to convert absolute URIs to relative URIs when necessary.

Uri 생성자 문자열은 올바른 형식의 URI 구성표 식별자를 포함 하는 경우 URI 문자열을 이스케이프 하지 않습니다.The Uri constructors do not escape URI strings if the string is a well-formed URI including a scheme identifier.

Uri 속성의 해당 16 진수 대체 127 보다 큰 유니코드 값을 사용 하 여 모든 문자를 사용 하 여 이스케이프 된 인코딩으로 정규 데이터 표현 반환 합니다.The Uri properties return a canonical data representation in escaped encoding, with all characters with Unicode values greater than 127 replaced with their hexadecimal equivalents. 정규 형식에서 URI를 삽입할는 Uri 생성자에는 다음 단계를 수행 합니다.To put the URI in canonical form, the Uri constructor performs the following steps:

  • URI 체계를 소문자로 변환합니다.Converts the URI scheme to lowercase.

  • 호스트 이름을 소문자로 변환합니다.Converts the host name to lowercase.

  • 호스트 이름이 IPv6 주소 이면에 정식 IPv6 주소가 사용 됩니다.If the host name is an IPv6 address, the canonical IPv6 address is used. ScopeId 및 기타 선택적인 IPv6 데이터가 제거 됩니다.ScopeId and other optional IPv6 data are removed.

  • 기본 및 빈 포트 번호를 제거합니다.Removes default and empty port numbers.

  • 암시적 파일 경로 (예: "C:\my\file")는 file:// scheme 없이 file:// scheme 사용 하 여 명시적 파일 경로를 변환합니다.Converts implicit file paths without the file:// scheme (for example, "C:\my\file") to explicit file paths with the file:// scheme.

  • 예약 된 용도가 없는 이스케이프 된 문자 (라고도: 백분율로 인코딩된 옥텟을) 디코딩 (라고도 이스케이프 해제 된).Escaped characters (also known as percent-encoded octets) that don't have a reserved purpose are decoded (also known as being unescaped). 예약 되지 않은 이러한 문자는 대문자 및 소문자 (%41 %5A 및 %61 %7A), 소수 자릿수 (%30-%39), 하이픈 (%2D), 마침표 (%2E) (%5F), 밑줄 및 물결표 (%7E).These unreserved characters include uppercase and lowercase letters (%41-%5A and %61-%7A), decimal digits (%30-%39), hyphen (%2D), period (%2E), underscore (%5F), and tilde (%7E).

  • 이스케이프 된 계층적 Uri에 대 한 압축 순서에서 같은 /. / /... 및 / / (시퀀스 이스케이프 여부).Canonicalizes the path for hierarchical URIs by compacting sequences such as /./, /../, and // (whether or not the sequence is escaped). 이러한 시퀀스 압축 되지 않습니다 일부 구성표는 참고 합니다.Note that there are some schemes for which these sequences are not compacted.

  • 계층적 Uri에 대 한 호스트 슬래시 (/)로 종료 되지 않으면 추가 됩니다.For hierarchical URIs, if the host is not terminated with a forward slash (/), one is added.

  • 기본적으로 RFC 2396에 따라 URI에서 예약 된 문자가 이스케이프 됩니다.By default, any reserved characters in the URI are escaped in accordance with RFC 2396. URI의 경우 예약된 문자는 다국어 리소스 식별자 또는 국제 도메인 이름 구문 분석을 활성화 한 경우이 동작 변경 내용 RFC 3986 및 RFC 3987에 따라 이스케이프 됩니다.This behavior changes if International Resource Identifiers or International Domain Name parsing is enabled in which case reserved characters in the URI are escaped in accordance with RFC 3986 and RFC 3987.

일부 구성표, 점 세그먼트 및 빈 세그먼트에 대 한 생성자에는 정규화의 일부로 (/. / /... 및 / /)이 압축 됩니다 (즉, 제거 됨).As part of canonicalization in the constructor for some schemes, dot-segments and empty segments (/./, /../, and //) are compacted (in other words, they are removed). URI는 이러한 시퀀스는 압축 체계는 http, https, tcp, net.pipe 및 net.tcp 포함 합니다.The schemes for which URI will compact these sequences include http, https, tcp, net.pipe, and net.tcp. 이러한 시퀀스는 일부 다른 스키마에 대 한 압축 되지 않습니다.For some other schemes, these sequences are not compacted. 이 압축 되는 모양을 실제로 다음과 같습니다.Here's how this compacting looks in practice.

var uri = new Uri("http://myUrl/../.."); // http scheme, unescaped
OR
var uri = new Uri("http://myUrl/%2E%2E/%2E%2E"); // http scheme, escaped
OR
var uri = new Uri("ftp://myUrl/../.."); // ftp scheme, unescaped
OR
var uri = new Uri("ftp://myUrl/%2E%2E/%2E%2E"); // ftp scheme, escaped

Console.WriteLine(uri.AbsoluteUri);  
Console.WriteLine(uri.PathAndQuery);  

이 코드를 실행 하는 경우 필요한 경우 이스케이프 해제 하 고 압축 한 다음 이스케이프 시퀀스를 사용 하 여 다음 출력을 반환 합니다.When this code is executed, it returns the following output, with the escaped sequences unescaped if necessary and then compacted.

http://myUrl/  
/  

콘텐츠를 변환할 수 있습니다 합니다 Uri 클래스를 사용 하 여 읽을 수 있는 URI 참조에 대 한 이스케이프 인코딩된 URI 참조를 ToString 메서드.You can transform the contents of the Uri class from an escape encoded URI reference to a readable URI reference by using the ToString method. 일부 예약 된 문자 수 여전히의 출력에서 이스케이프 된 ToString 메서드.Note that some reserved characters might still be escaped in the output of the ToString method. 반환한 값에서 URI의 명확한 재구성을 지원 하기 위해 이것이 ToString합니다.This is to support unambiguous reconstruction of a URI from the value returned by ToString.

일부 Uri 조각 식별자 또는 쿼리를 포함 합니다.Some URIs include a fragment identifier or a query or both. 단편 식별자는 숫자 기호 뒤에 오는 모든 텍스트 (#), 숫자 기호;를 포함 하지 않음 조각 텍스트에 저장 되는 Fragment 속성입니다.A fragment identifier is any text that follows a number sign (#), not including the number sign; the fragment text is stored in the Fragment property. 쿼리 정보는 URI에서 물음표 (?) 뒤에 오는 텍스트는 쿼리 텍스트에 저장 되는 Query 속성입니다.Query information is any text that follows a question mark (?) in the URI; the query text is stored in the Query property.

.NET framework 버전 1.1에서는 생성자에 지정 된 문자열을 알 수 없는 스키마를 포함 하는 경우 및 "c:\"를 Uri 클래스 삽입 "/ /" 콜론입니다.In the .NET Framework version 1.1, if the string specified to a constructor contains an unknown scheme and "c:\", the Uri class inserts "//" after the colon. 예를 들어, URI xyz:c:\abc 변환할 xyz://c:/abc합니다.For example, the URI xyz:c:\abc is converted to xyz://c:/abc. .NET framework 버전 2.0에서이 동작이 제거 되었습니다, 그리고 및 문자열의 예는 변환할 xyz:c:/abc합니다.In the .NET Framework version 2.0, this behavior has been removed, and the example string is converted to xyz:c:/abc.

참고

URI 클래스 IPv4 프로토콜에 대 한 두 자리 표기법 및 콜론 16 진수 IPv6 프로토콜에 대 한 IP 주소 사용을 지원합니다.The URI class supports the use of IP addresses in both quad-notation for IPv4 protocol and colon-hexadecimal for IPv6 protocol. 해야 http://[::1와 같이 대괄호 안에 있는 IPv6 주소를 묶습니다] 합니다.Remember to enclose the IPv6 address in square brackets, as in http://[::1].

국가별 리소스 식별자 지원International Resource Identifier Support

웹 주소는 대개 매우 제한적인된 문자 집합을 구성 하는 uniform resource identifier를 사용 하 여 표현 됩니다.Web addresses are typically expressed using uniform resource identifiers that consist of a very restricted set of characters:

  • 영문자의 대문자 및 소문자 ASCII 문자.Upper and lower case ASCII letters from the English alphabet.

  • 0~9의 숫자.Digits from 0 to 9.

  • 일부 기타 ASCII 기호.A small number of other ASCII symbols.

Uri에 대 한 사양은 RFC 2396, RFC 2732, RFC 3986 및 RFC 3987을 게시 하 여는 Task Force IETF (Internet Engineering)에 나와 있습니다.The specifications for URIs are documented in RFC 2396, RFC 2732, RFC 3986, and RFC 3987 published by the Internet Engineering Task Force (IETF).

인터넷이 성장하면서 영어 이외의 언어로 리소스를 식별해야 할 필요성이 증가하고 있습니다.With the growth of the Internet, there is a growing need to identify resources using languages other than English. 이 필요성을 가능하게 하고 ASCII 이외 문자(유니코드/ISO 10646 문자 집합의 문자)를 허용하는 식별자를 IRI(International Resource Identifier)라고 합니다.Identifiers which facilitate this need and allow non-ASCII characters (characters in the Unicode/ISO 10646 character set) are known as International Resource Identifiers (IRIs). IRI 사양은 IETF에서 게시한 RFC 3987에 설명되어 있습니다.The specifications for IRIs are documented in RFC 3987 published by IETF. IRI를 사용하면 URL에 유니코드 문자를 포함할 수 있습니다.Using IRIs allows a URL to contain Unicode characters.

기존 Uri RFC 3987을 기반으로 IRI 지원을 제공할 수 있는 2.0 SP1 및.NET Framework v3.5, 3.0 SP1에서에서이 클래스는 확장 되었습니다.The existing Uri class has been extended in .NET Framework v3.5, 3.0 SP1, and 2.0 SP1 to provide IRI support based on RFC 3987. 버전 4.5 이전.NET Framework 버전의 사용자는 특히 IRI 사용 하지 않는 한.NET Framework 2.0 동작에서 표시 되지 않습니다.Users of .NET Framework versions before version 4.5 will not see any change from the .NET Framework 2.0 behavior unless they specifically enable IRI. 이 덕분에 .NET Framework 이전 버전과의 애플리케이션 호환성이 제공됩니다.This ensures application compatibility with prior versions of the .NET Framework.

Iri 지원을 사용 하려면 다음과 같이 변경 하면이 필요 합니다.To enable support for IRI, the following change is required:

  • 다국어 도메인 이름 (IDN) 구문 분석 된 도메인 이름에 적용할 것인지와 IRI 구문 분석 규칙을 적용 해야 하는지 여부를 지정 합니다.Specify whether you want Internationalized Domain Name (IDN) parsing applied to the domain name and whether IRI parsing rules should be applied. 이 작업을 수행할 수 있습니다 합니다 machine.config 또는 합니다 app.config 파일입니다.This can be done in the machine.config or in the app.config file. 예를 들어, 다음 추가 합니다.For example, add the following:

    <configuration>  
      <uri>  
      <idn enabled="All" />  
      <iriParsing enabled="true" />  
      </uri>  
    </configuration>  
    

사용자가.NET Framework 4.5 이상에 항상 IRI를 사용 하도록 설정 해야 합니다.Users of .NET Framework 4.5 and newer always have IRI enabled. IRI 구문 분석 변경할 수 없습니다를 사용 하는 .config 파일입니다.IRI parsing cannot be changed using a .config file.

IDN을 사용하면 도메인 이름의 모든 유니코드 레이블이 해당 Punycode 문자로 변환됩니다.Enabling IDN will convert all Unicode labels in a domain name to their Punycode equivalents. Punycode 이름에는 ASCII 문자만 사용되며 항상 xn-- 접두사로 시작합니다.Punycode names contain only ASCII characters and always start with the xn-- prefix. 대부분의 DNS 서버는 ASCII 문자만 지원하므로(RFC 3940 참조) 이렇게 해야 인터넷에서 기존 DNS 서버를 지원할 수 있습니다.The reason for this is to support existing DNS servers on the Internet, since most DNS servers only support ASCII characters (see RFC 3940).

IRI 및 IDN을 사용하도록 설정하면 Uri.DnsSafeHost 속성 값에 영향을 줍니다.Enabling IRI and IDN affects the value of the Uri.DnsSafeHost property. IRI 및 IDN을 사용하면 Equals, OriginalString, GetComponentsIsWellFormedOriginalString 메서드의 동작을 변경할 수도 있습니다.Enabling IRI and IDN can also change the behavior of the Equals, OriginalString, GetComponents, and IsWellFormedOriginalString methods.

세 가지 idn 관련 값을 사용 하는 DNS 서버에 따라 가지가 있습니다.There are three possible values for IDN depending on the DNS servers that are used:

  • idn 사용 = Allidn enabled = All

    이 값은 모든 유니코드 도메인 이름을 해당하는 Punycode 항목(IDN 이름)으로 변환합니다.This value will convert any Unicode domain names to their Punycode equivalents (IDN names).

  • 사용 하도록 설정 하는 idn AllExceptIntranet =idn enabled = AllExceptIntranet

    이 값은 Punycode 항목 (IDN 이름)을 사용 하려면 로컬 인트라넷에 없는 모든 유니코드 도메인 이름을 변환 합니다.This value will convert all Unicode domain names not on the local Intranet to use the Punycode equivalents (IDN names). 이 경우를 처리 하기 위해 로컬 인트라넷에 있는 국가별 이름을 인트라넷에 사용 되는 DNS 서버가 유니코드 이름 확인을 지원 해야 합니다.In this case to handle international names on the local Intranet, the DNS servers that are used for the Intranet should support Unicode name resolution.

  • idn 사용 = 없음idn enabled = None

    이 값은 Punycode를 사용하도록 어떠한 유니코드 도메인 이름도 변환하지 않습니다.This value will not convert any Unicode domain names to use Punycode. .NET Framework 2.0 동작을 사용 하 여 일치 하는 기본 값입니다.This is the default value which is consistent with the .NET Framework 2.0 behaviour.

IRI 구문 분석을 사용 하는 경우 (iriParsing 사용 = true) 정규화 및 문자 검사는 RFC 3986 및 RFC 3987의 최신 IRI 규칙에 따라 수행 됩니다.When IRI parsing is enabled (iriParsing enabled = true) normalization and character checking are done according to the latest IRI rules in RFC 3986 and RFC 3987. IRI 구문 분석 사용 안 함, 정규화 및 문자 검사 (IPv6 리터럴)에 대 한 RFC 2396 및 RFC 2732에 따라 수행 됩니다.When IRI parsing is disabled, normalization and character checking are performed according to RFC 2396 and RFC 2732 (for IPv6 literals). 기본값은.NET framework 버전 4.5 이전 버전에서는 false합니다.In versions of the .NET Framework before version 4.5, the default value is false. .NET framework 4.5 이상 버전에서 기본값은 true, 설정에 따라 IRI 구문 분석의 활성화 상태를 수정할 수 없습니다는 .config 파일입니다.In .NET Framework version 4.5 and newer, the default value is true, and the enabled state of IRI parsing cannot be modified by settings in a .config file.

IRI 및 IDN 처리는 Uri 를 사용 하 여 클래스 제어할 수도 있습니다는 System.Configuration.IriParsingElementSystem.Configuration.IdnElement, 및 System.Configuration.UriSection 구성 설정 클래스입니다.IRI and IDN processing in the Uri class can also be controlled using the System.Configuration.IriParsingElement, System.Configuration.IdnElement, and System.Configuration.UriSection configuration setting classes. System.Configuration.IriParsingElement 설정은 Uri 클래스에서 IRI 처리를 사용하거나 사용하지 않도록 설정합니다.The System.Configuration.IriParsingElement setting enables or disables IRI processing in the Uri class. System.Configuration.IdnElement 설정은 Uri 클래스에서 IDN 처리를 사용하거나 사용하지 않도록 설정합니다.The System.Configuration.IdnElement setting enables or disables IDN processing in the Uri class. System.Configuration.IriParsingElement 설정도 IDN을 간접적으로 제어합니다.The System.Configuration.IriParsingElement setting also indirectly controls IDN. IDN 처리가 가능하려면 IRI 처리를 사용하도록 설정해야 합니다.IRI processing must be enabled for IDN processing to be possible. IRI 처리가 사용하지 않도록 설정되면 IDN 처리는 .NET Framework 2.0 동작이 호환성에 사용되고 IDN 이름이 사용되지 않는 기본 설정으로 지정됩니다.If IRI processing is disabled, then IDN processing will be set to the default setting where the .NET Framework 2.0 behavior is used for compatibility and IDN names are not used.

에 대 한 구성 설정을 합니다 System.Configuration.IriParsingElementSystem.Configuration.IdnElement 는 한 번 읽을 때 첫 번째 System.Uri 클래스 생성 됩니다.The configuration setting for the System.Configuration.IriParsingElement and System.Configuration.IdnElement will be read once when the first System.Uri class is constructed. 해당 시점 후의 구성 설정 변경 내용은 무시됩니다.Changes to configuration settings after that time are ignored.

또한 System.GenericUriParser 클래스는 IRI 및 IDN을 지원하는 사용자 지정 가능한 파서를 만들 수 있도록 확장되었습니다.The System.GenericUriParser class has also been extended to allow creating a customizable parser that supports IRI and IDN. System.GenericUriParser 개체의 동작은 System.GenericUriParserOptions 열거형에서 사용 가능한 값의 비트 조합을 System.GenericUriParser 생성자에 전달하여 지정합니다.The behavior of a System.GenericUriParser object is specified by passing a bitwise combination of the values available in the System.GenericUriParserOptions enumeration to the System.GenericUriParser constructor. GenericUriParserOptions.IriParsing 형식은 파서가 RFC 3987에 지정된 IRI(International Resource Identifier)에 대한 구문 분석 규칙을 지원함을 나타냅니다.The GenericUriParserOptions.IriParsing type indicates the parser supports the parsing rules specified in RFC 3987 for International Resource Identifiers (IRI). IRI 사용 여부는 위에 설명 된 구성 값에 따라 결정 됩니다.Whether IRI is used is dictated by the configuration values previously discussed.

GenericUriParserOptions.Idn 형식은 파서가 호스트 이름의 IDN(Internationalized Domain Name) 구문 분석을 지원함을 나타냅니다.The GenericUriParserOptions.Idn type indicates the parser supports Internationalized Domain Name (IDN) parsing (IDN) of host names. IDN 사용 여부는 위에 설명 된 구성 값에 따라 결정 됩니다.Whether IDN is used is dictated by the configuration values previously discussed.

암시적 파일 경로 지원Implicit File Path Support

Uri 로컬 파일 시스템 경로 나타내는 데 사용할 수도 있습니다.Uri can also be used to represent local file system paths. 이러한 경로 나타낼 수 있습니다 명시적으로 Uri는 file:// scheme을 사용 하 여 시작 하는에서 및 암시적으로 Uri는 file:// scheme 없는에 합니다.These paths can be represented explicitly in URIs that begin with the file:// scheme, and implicitly in URIs that do not have the file:// scheme. 구체적인 예로, 다음 두 Uri 모두 유효 합니다 하 고 동일한 파일 경로 나타냅니다.As a concrete example, the following two URIs are both valid, and represent the same file path:

Uri uri1 = new Uri("C:/test/path/file.txt") // Implicit file path.
Uri uri2 = new Uri("file:///C:/test/path/file.txt") // Explicit file path.

이러한 암시적 파일 경로 URI 사양을 준수 하지 않는 및 하므로 피해 야 가능한 경우.These implicit file paths are not compliant with the URI specification and so should be avoided when possible. Unix 기반 시스템에서.NET Core를 사용 하는 경우 암시적 파일 경로 문제가 발생할 수 있습니다, 암시적 절대 파일 경로 이므로 수 없는 에서 상대 경로입니다.When using .NET Core on Unix-based systems, implicit file paths can be especially problematic, because an absolute implicit file path is indistinguishable from a relative path. 이러한 모호성 있으면 Uri 기본적으로 경로 절대 URI로 해석 합니다.When such ambiguity is present, Uri default to interpreting the path as an absolute URI.

성능 고려 사항Performance Considerations

*Web.config을 사용 하는 경우 * 파일이 응용 프로그램, 추가 시간을 초기화 하는 Uri를 포함 하는 구성표 식별자가 비표준 경우 Uri를 처리 하는 데 필요 합니다.If you use a *Web.config *file that contains URIs to initialize your application, additional time is required to process the URIs if their scheme identifiers are nonstandard. 이러한 경우 시작 때가 아니라 Uri가 필요할 때 응용 프로그램의 영향을 받는 파트를 초기화 합니다.In such a case, initialize the affected parts of your application when the URIs are needed, not at start time.

호출자 참고

보안 문제 때문에 응용 프로그램 때는 주의 해야 수락 Uri 신뢰할 수 없는 소스에서 사용 하 여 인스턴스 dontEscapetrue합니다. 호출 하 여 URI 문자열의 유효성을 확인할 수 있습니다는 IsWellFormedOriginalString() 메서드.Because of security concerns, your application should use caution when accepting Uri instances from untrusted sources and with dontEscape set to true.You can check a URI string for validity by calling the IsWellFormedOriginalString() method.

생성자

Uri(SerializationInfo, StreamingContext) Uri(SerializationInfo, StreamingContext) Uri(SerializationInfo, StreamingContext) Uri(SerializationInfo, StreamingContext)

UriSerializationInfo 클래스에 지정된 인스턴스에서 StreamingContext 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class from the specified instances of the SerializationInfo and StreamingContext classes.

Uri(String) Uri(String) Uri(String) Uri(String)

URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class with the specified URI.

Uri(String, Boolean) Uri(String, Boolean) Uri(String, Boolean) Uri(String, Boolean)

문자 이스케이프를 명시적으로 제어하여 URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class with the specified URI, with explicit control of character escaping.

Uri(String, UriKind) Uri(String, UriKind) Uri(String, UriKind) Uri(String, UriKind)

URI가 지정된 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class with the specified URI. 이 생성자를 사용하면 URI 문자열이 상대 URI 또는 절대 URI인지, 아니면 결정되지 않았는지를 지정할 수 있습니다.This constructor allows you to specify if the URI string is a relative URI, absolute URI, or is indeterminate.

Uri(Uri, String) Uri(Uri, String) Uri(Uri, String) Uri(Uri, String)

지정된 기본 URI와 상대 URI 문자열을 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class based on the specified base URI and relative URI string.

Uri(Uri, String, Boolean) Uri(Uri, String, Boolean) Uri(Uri, String, Boolean) Uri(Uri, String, Boolean)

문자 이스케이프를 명시적으로 제어하여 지정된 기본 URI와 상대 URI를 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class based on the specified base and relative URIs, with explicit control of character escaping.

Uri(Uri, Uri) Uri(Uri, Uri) Uri(Uri, Uri) Uri(Uri, Uri)

지정된 기본 Uri 인스턴스와 상대 Uri 인스턴스의 조합을 기반으로 Uri 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the Uri class based on the combination of a specified base Uri instance and a relative Uri instance.

필드

SchemeDelimiter SchemeDelimiter SchemeDelimiter SchemeDelimiter

통신 프로토콜 체계를 URI의 주소 부분과 구분하는 문자를 지정합니다.Specifies the characters that separate the communication protocol scheme from the address portion of the URI. 이 필드는 읽기 전용입니다.This field is read-only.

UriSchemeFile UriSchemeFile UriSchemeFile UriSchemeFile

URI를 파일 포인터로 지정합니다.Specifies that the URI is a pointer to a file. 이 필드는 읽기 전용입니다.This field is read-only.

UriSchemeFtp UriSchemeFtp UriSchemeFtp UriSchemeFtp

FTP(파일 전송 프로토콜)를 통해 URI에 액세스하도록 지정합니다.Specifies that the URI is accessed through the File Transfer Protocol (FTP). 이 필드는 읽기 전용입니다.This field is read-only.

UriSchemeGopher UriSchemeGopher UriSchemeGopher UriSchemeGopher

Gopher 프로토콜을 통해 URI에 액세스하도록 지정합니다.Specifies that the URI is accessed through the Gopher protocol. 이 필드는 읽기 전용입니다.This field is read-only.

UriSchemeHttp UriSchemeHttp UriSchemeHttp UriSchemeHttp

HTTP(Hypertext Transfer Protocol)를 통해 URI에 액세스하도록 지정합니다.Specifies that the URI is accessed through the Hypertext Transfer Protocol (HTTP). 이 필드는 읽기 전용입니다.This field is read-only.

UriSchemeHttps UriSchemeHttps UriSchemeHttps UriSchemeHttps

HTTPS(Secure Hypertext Transfer Protocol)를 통해 URI에 액세스하도록 지정합니다.Specifies that the URI is accessed through the Secure Hypertext Transfer Protocol (HTTPS). 이 필드는 읽기 전용입니다.This field is read-only.

UriSchemeMailto UriSchemeMailto UriSchemeMailto UriSchemeMailto

URI를 이메일 주소로 지정하고 SMTP(Simple Mail Transport Protocol)를 통해 URI에 액세스하도록 지정합니다.Specifies that the URI is an email address and is accessed through the Simple Mail Transport Protocol (SMTP). 이 필드는 읽기 전용입니다.This field is read-only.

UriSchemeNetPipe UriSchemeNetPipe UriSchemeNetPipe UriSchemeNetPipe

WCF(Windows Communication Foundation)에서 사용하는 NetPipe 체계를 통해 URI에 액세스하도록 지정합니다.Specifies that the URI is accessed through the NetPipe scheme used by Windows Communication Foundation (WCF). 이 필드는 읽기 전용입니다.This field is read-only.

UriSchemeNetTcp UriSchemeNetTcp UriSchemeNetTcp UriSchemeNetTcp

WCF(Windows Communication Foundation)에서 사용하는 NetTcp 체계를 통해 URI에 액세스하도록 지정합니다.Specifies that the URI is accessed through the NetTcp scheme used by Windows Communication Foundation (WCF). 이 필드는 읽기 전용입니다.This field is read-only.

UriSchemeNews UriSchemeNews UriSchemeNews UriSchemeNews

URI를 인터넷 뉴스 그룹으로 지정하고 NNTP(Network News Transport Protocol)를 통해 URI에 액세스하도록 지정합니다.Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). 이 필드는 읽기 전용입니다.This field is read-only.

UriSchemeNntp UriSchemeNntp UriSchemeNntp UriSchemeNntp

URI를 인터넷 뉴스 그룹으로 지정하고 NNTP(Network News Transport Protocol)를 통해 URI에 액세스하도록 지정합니다.Specifies that the URI is an Internet news group and is accessed through the Network News Transport Protocol (NNTP). 이 필드는 읽기 전용입니다.This field is read-only.

속성

AbsolutePath AbsolutePath AbsolutePath AbsolutePath

URI의 절대 경로를 가져옵니다.Gets the absolute path of the URI.

AbsoluteUri AbsoluteUri AbsoluteUri AbsoluteUri

절대 URI를 가져옵니다.Gets the absolute URI.

Authority Authority Authority Authority

서버의 DNS(Domain Name System) 호스트 이름이나 IP 주소 및 포트 번호를 가져옵니다.Gets the Domain Name System (DNS) host name or IP address and the port number for a server.

DnsSafeHost DnsSafeHost DnsSafeHost DnsSafeHost

필요한 경우 이스케이프 해제된 후 호스트 이름을 가져오는 것이 DNS 확인에 사용하기에 안전합니다.Gets a host name that, after being unescaped if necessary, is safe to use for DNS resolution.

Fragment Fragment Fragment Fragment

이스케이프된 URI 조각을 가져옵니다.Gets the escaped URI fragment.

Host Host Host Host

이 인스턴스의 호스트 구성 요소를 가져옵니다.Gets the host component of this instance.

HostNameType HostNameType HostNameType HostNameType

URI에 지정된 호스트 이름의 형식을 가져옵니다.Gets the type of the host name specified in the URI.

IdnHost IdnHost IdnHost IdnHost

Punycode를 적절하게 사용하는 호스트의 RFC 3490 규격 국제 도메인 이름입니다.The RFC 3490 compliant International Domain Name of the host, using Punycode as appropriate. 필요한 경우 이스케이프 해제된 후 이 문자열이 DNS 확인에 사용하기에 안전합니다.This string, after being unescaped if necessary, is safe to use for DNS resolution.

IsAbsoluteUri IsAbsoluteUri IsAbsoluteUri IsAbsoluteUri

Uri 인스턴스가 절대 URI인지 여부를 가져옵니다.Gets whether the Uri instance is absolute.

IsDefaultPort IsDefaultPort IsDefaultPort IsDefaultPort

URI의 포트 값이 이 체계의 기본값인지 여부를 나타내는 값을 가져옵니다.Gets whether the port value of the URI is the default for this scheme.

IsFile IsFile IsFile IsFile

지정된 Uri가 파일 URI인지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether the specified Uri is a file URI.

IsLoopback IsLoopback IsLoopback IsLoopback

지정된 Uri가 로컬 호스트를 참조하는지 여부를 가져옵니다.Gets whether the specified Uri references the local host.

IsUnc IsUnc IsUnc IsUnc

지정된 Uri가 UNC(Universal Naming Convention) 경로인지 여부를 가져옵니다.Gets whether the specified Uri is a universal naming convention (UNC) path.

LocalPath LocalPath LocalPath LocalPath

파일 이름에 대한 로컬 운영 체제 표현을 가져옵니다.Gets a local operating-system representation of a file name.

OriginalString OriginalString OriginalString OriginalString

Uri 생성자에 전달된 원래 URI 문자열을 가져옵니다.Gets the original URI string that was passed to the Uri constructor.

PathAndQuery PathAndQuery PathAndQuery PathAndQuery

물음표(?)로 구분된 AbsolutePathQuery 속성을 가져옵니다.Gets the AbsolutePath and Query properties separated by a question mark (?).

Port Port Port Port

이 URI의 포트 번호를 가져옵니다.Gets the port number of this URI.

Query Query Query Query

지정된 URI에 포함된 쿼리 정보를 가져옵니다.Gets any query information included in the specified URI.

Scheme Scheme Scheme Scheme

이 URI의 체계 이름을 가져옵니다.Gets the scheme name for this URI.

Segments Segments Segments Segments

지정된 URI를 구성하는 경로 세그먼트가 포함된 배열을 가져옵니다.Gets an array containing the path segments that make up the specified URI.

UserEscaped UserEscaped UserEscaped UserEscaped

Uri 인스턴스를 만들기 전에 URI 문자열을 완전히 이스케이프했음을 나타냅니다.Indicates that the URI string was completely escaped before the Uri instance was created.

UserInfo UserInfo UserInfo UserInfo

지정된 URI와 연결된 사용자 이름, 암호 및 기타 사용자 관련 정보를 가져옵니다.Gets the user name, password, or other user-specific information associated with the specified URI.

메서드

Canonicalize() Canonicalize() Canonicalize() Canonicalize()

내부적으로 저장된 URI를 정규형으로 변환합니다.Converts the internally stored URI to canonical form.

CheckHostName(String) CheckHostName(String) CheckHostName(String) CheckHostName(String)

지정된 호스트 이름이 유효한 DNS 이름인지 여부를 확인합니다.Determines whether the specified host name is a valid DNS name.

CheckSchemeName(String) CheckSchemeName(String) CheckSchemeName(String) CheckSchemeName(String)

지정된 체계 이름이 유효한지 여부를 확인합니다.Determines whether the specified scheme name is valid.

CheckSecurity() CheckSecurity() CheckSecurity() CheckSecurity()

이 메서드를 호출해도 아무런 효과가 나타나지 않습니다.Calling this method has no effect.

Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) Compare(Uri, Uri, UriComponents, UriFormat, StringComparison) Compare(Uri, Uri, UriComponents, UriFormat, StringComparison)

지정된 비교 규칙을 사용하여 두 URI의 지정된 부분을 비교합니다.Compares the specified parts of two URIs using the specified comparison rules.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시 생성에 필요한 모든 관련 정보가 들어 있는 개체를 만듭니다.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Uri 인스턴스가 같은지 비교합니다.Compares two Uri instances for equality.

Escape() Escape() Escape() Escape()

경로 구성 요소에서 안전하지 않거나 예약된 문자를 해당 16진 문자 표현으로 변환합니다.Converts any unsafe or reserved characters in the path component to their hexadecimal character representations.

EscapeDataString(String) EscapeDataString(String) EscapeDataString(String) EscapeDataString(String)

문자열을 이스케이프된 표현으로 변환합니다.Converts a string to its escaped representation.

EscapeString(String) EscapeString(String) EscapeString(String) EscapeString(String)

문자열을 이스케이프된 표현으로 변환합니다.Converts a string to its escaped representation.

EscapeUriString(String) EscapeUriString(String) EscapeUriString(String) EscapeUriString(String)

URI 문자열을 이스케이프된 표현으로 변환합니다.Converts a URI string to its escaped representation.

FromHex(Char) FromHex(Char) FromHex(Char) FromHex(Char)

16진수의 10진수 값을 가져옵니다.Gets the decimal value of a hexadecimal digit.

GetComponents(UriComponents, UriFormat) GetComponents(UriComponents, UriFormat) GetComponents(UriComponents, UriFormat) GetComponents(UriComponents, UriFormat)

특수 문자에 지정된 이스케이프를 사용하여 현재 인스턴스에 지정된 구성 요소를 가져옵니다.Gets the specified components of the current instance using the specified escaping for special characters.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

URI의 해시 코드를 가져옵니다.Gets the hash code for the URI.

GetLeftPart(UriPartial) GetLeftPart(UriPartial) GetLeftPart(UriPartial) GetLeftPart(UriPartial)

지정된 Uri 인스턴스 부분을 가져옵니다.Gets the specified portion of a Uri instance.

GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

이 인스턴스의 수명 정책을 제어하는 현재의 수명 서비스 개체를 검색합니다.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext) GetObjectData(SerializationInfo, StreamingContext)

현재 인스턴스를 serialize하는 데 필요한 데이터를 반환합니다.Returns the data needed to serialize the current instance.

GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
HexEscape(Char) HexEscape(Char) HexEscape(Char) HexEscape(Char)

지정된 문자를 16진수 값으로 변환합니다.Converts a specified character into its hexadecimal equivalent.

HexUnescape(String, Int32) HexUnescape(String, Int32) HexUnescape(String, Int32) HexUnescape(String, Int32)

지정된 문자의 16진수 표현을 문자로 변환합니다.Converts a specified hexadecimal representation of a character to the character.

InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
IsBadFileSystemCharacter(Char) IsBadFileSystemCharacter(Char) IsBadFileSystemCharacter(Char) IsBadFileSystemCharacter(Char)

파일 시스템 이름에 있는 문자가 잘못되었는지 여부를 가져옵니다.Gets whether a character is invalid in a file system name.

IsBaseOf(Uri) IsBaseOf(Uri) IsBaseOf(Uri) IsBaseOf(Uri)

현재 Uri 인스턴스가 지정된 Uri 인스턴스의 기본 URI인지 여부를 확인합니다.Determines whether the current Uri instance is a base of the specified Uri instance.

IsExcludedCharacter(Char) IsExcludedCharacter(Char) IsExcludedCharacter(Char) IsExcludedCharacter(Char)

지정된 문자가 이스케이프되어야 하는지 여부를 가져옵니다.Gets whether the specified character should be escaped.

IsHexDigit(Char) IsHexDigit(Char) IsHexDigit(Char) IsHexDigit(Char)

지정된 문자가 유효한 16진수인지 여부를 확인합니다.Determines whether a specified character is a valid hexadecimal digit.

IsHexEncoding(String, Int32) IsHexEncoding(String, Int32) IsHexEncoding(String, Int32) IsHexEncoding(String, Int32)

문자열의 문자가 16진수로 인코딩되었는지 여부를 확인합니다.Determines whether a character in a string is hexadecimal encoded.

IsReservedCharacter(Char) IsReservedCharacter(Char) IsReservedCharacter(Char) IsReservedCharacter(Char)

지정된 문자가 예약된 문자인지 여부를 가져옵니다.Gets whether the specified character is a reserved character.

IsWellFormedOriginalString() IsWellFormedOriginalString() IsWellFormedOriginalString() IsWellFormedOriginalString()

Uri를 구성하는 데 사용된 문자열의 형식이 올바른지, 이후에 문자열을 이스케이프하지 않아도 되는지 여부를 나타냅니다.Indicates whether the string used to construct this Uri was well-formed and is not required to be further escaped.

IsWellFormedUriString(String, UriKind) IsWellFormedUriString(String, UriKind) IsWellFormedUriString(String, UriKind) IsWellFormedUriString(String, UriKind)

문자열로 URI 생성을 시도하여 문자열 형식이 올바른지 여부를 나타내고 이후에 문자열을 이스케이프하지 않아도 되는지 확인합니다.Indicates whether the string is well-formed by attempting to construct a URI with the string and ensures that the string does not require further escaping.

MakeRelative(Uri) MakeRelative(Uri) MakeRelative(Uri) MakeRelative(Uri)

Uri 인스턴스 간의 차이점을 확인합니다.Determines the difference between two Uri instances.

MakeRelativeUri(Uri) MakeRelativeUri(Uri) MakeRelativeUri(Uri) MakeRelativeUri(Uri)

Uri 인스턴스 간의 차이점을 확인합니다.Determines the difference between two Uri instances.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
Parse() Parse() Parse() Parse()

현재 인스턴스의 URI를 구문 분석하여 유효한 URI에 필요한 모든 부분이 포함되어 있는지 확인합니다.Parses the URI of the current instance to ensure it contains all the parts required for a valid URI.

ToString() ToString() ToString() ToString()

지정된 Uri 인스턴스에 대한 정식 문자열 표현을 가져옵니다.Gets a canonical string representation for the specified Uri instance.

TryCreate(String, UriKind, Uri) TryCreate(String, UriKind, Uri) TryCreate(String, UriKind, Uri) TryCreate(String, UriKind, Uri)

지정된 Uri 인스턴스와 String를 사용하여 새 UriKind를 만듭니다.Creates a new Uri using the specified String instance and a UriKind.

TryCreate(Uri, String, Uri) TryCreate(Uri, String, Uri) TryCreate(Uri, String, Uri) TryCreate(Uri, String, Uri)

지정된 기본 및 상대 Uri 인스턴스를 사용하여 새 String를 만듭니다.Creates a new Uri using the specified base and relative String instances.

TryCreate(Uri, Uri, Uri) TryCreate(Uri, Uri, Uri) TryCreate(Uri, Uri, Uri) TryCreate(Uri, Uri, Uri)

지정된 기본 및 상대 Uri 인스턴스를 사용하여 새 Uri를 만듭니다.Creates a new Uri using the specified base and relative Uri instances.

Unescape(String) Unescape(String) Unescape(String) Unescape(String)

이스케이프 시퀀스를 이스케이프되지 않은 표현으로 대체하여 지정된 문자열을 변환합니다.Converts the specified string by replacing any escape sequences with their unescaped representation.

UnescapeDataString(String) UnescapeDataString(String) UnescapeDataString(String) UnescapeDataString(String)

문자열을 이스케이프되지 않은 표현으로 변환합니다.Converts a string to its unescaped representation.

연산자

Equality(Uri, Uri) Equality(Uri, Uri) Equality(Uri, Uri) Equality(Uri, Uri)

Uri 인스턴스의 값이 같은지를 확인합니다.Determines whether two Uri instances have the same value.

Inequality(Uri, Uri) Inequality(Uri, Uri) Inequality(Uri, Uri) Inequality(Uri, Uri)

Uri 인스턴스의 값이 다른지 여부를 확인합니다.Determines whether two Uri instances do not have the same value.

명시적 인터페이스 구현

ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext) ISerializable.GetObjectData(SerializationInfo, StreamingContext)

현재 인스턴스를 serialize하는 데 필요한 데이터를 반환합니다.Returns the data needed to serialize the current instance.

적용 대상

추가 정보