2007. 6. 15. 22:20
Uniform Resource Locator(URL : RFC 1738)
Uniform Resource Locator(URL:자원 위치 표시자)는 인터넷 상에서 자원들의 위치와 접근 방법을 설명하는 방법입니다.
자원의 위치와 접근을 위한 형식화된 정보의 구문(syntax)과 문법(semantics)을 정의하여 각각의 프로토콜에 대한 인터넷 자원 위치 표시 및 접근을 위한 방식을 제공합니다.
1. 일반적인 URL 구조
일반적인 URL 형식은 다음과 같습니다.
<scheme>://<net_loc>/<path>;<params>?<query>#<fragment>
scheme ":" | ::= 구조명(e.g., http, https) |
"//" net_loc | ::= 네트워크 위치 또는 로그인 정보(e.g., www.host.com, user:password@host.com) |
"/" path | ::= URL 경로 |
";" params | ::= 오브젝트 파라메터(e.g., ";type=a") |
"?" query | ::= 쿼리 정보(e.g., "?db=main") |
"#" fragment | ::= 부위 지정자(e.g., "#top") |
구조명은 문자열('a'에서 'z')로 이루어지며, 안전한(safe) 문자인 "$", "-", "_", ".", "+" 들이 허용되고 대/소문자를 구별하지 않습니다.
모든 불안전한(unsafe) 문자들은 부호화 되어야 합니다.
불안전한(unsafe) 문자는 다음과 같습니다.
개행 문자(space), "<", ">", """, "#", "%", "{", "}", "|", "\", "^", "~", "[", "]", "`"
또한, 특정 목적을 위해 예약된 문자인 ";", "/", "?", ":", "@", "=", "&" 들은 부호화가 필요없는 특정 목적에 사용되어 지지 않는한 부호화될것 입니다.
2. 특정 URL 구조
각각의 프로토콜들에서 특정 구조로 URL이 사용되어지며 형식은 다음과 같습니다.//<user>:<password>:@<host>:<port>/<url-path>
user : 사용자 이름
password : 암호가 있는 경우, 사용자 이름은 콜론(:)으로 분류합니다.
host : 도메인 이름 또는 IP 주소
port : 연결할 포트 번호(일반적으로 기본 포트 번호를 사용합니다.)
url-path : 경로
password : 암호가 있는 경우, 사용자 이름은 콜론(:)으로 분류합니다.
host : 도메인 이름 또는 IP 주소
port : 연결할 포트 번호(일반적으로 기본 포트 번호를 사용합니다.)
url-path : 경로
다음은 각각의 프로토콜에서 사용되는 URL 형식의 사용예입니다.
- ftp(File Transfer protocol)
ftp://myname@host.com/etc/motd
ftp://myname:pass@host.com:21//etc/motd - http(Hypertext Transfer Protocol)
http://host.com:80/path.htm?num=1 - gopher(The Gopher protocol)
gopher://host.com:70 - mailto(Electronic mail address)
mailto:admin@host.com - news(USENET news)
news:host.com.computer - nntp(USENET news using NNTP access)
nntp://host.com:119/www.host.com.computer/10 - telnet(Reference to interactive sessions)
telnet://myname:pass@host.com:23/ - wais(Wide Area Information Servers)
wais://host.com:210/db_name - file(Host-specific file names)
file://host.com/dir/ - prospero(Prospero Directory Service)
prospero://host.com//pros/name
참고 사이트 :
World Wide Web Consortium(W3C : www.w3c.org)
The Internet Engineering Task Force(IETF : www.ietf.org)
한국정보통신기술협회(TTA : www.tta.or.kr)
인터넷 식별자 포럼(www.uriforum.or.kr)