1주차에 이어 2주차!
2장을 읽어오고 문제를 만들어 가야 한다 :)
2주차도 읽은거를 정리해 보자.
Uniform Resource Locator, 인터넷 리소스를 가리키는 표준 이름이다.
브라우저가 정보를 찾는데 필요한 리소스의 위치를 가리킨다.
http://www.joes-hardware.com/seasonal/index-fall.html
물론 HTTP 프로토콜이 아닌 다른 가용한 프로토콜을 사용할 수도 있다. (FTP..)
대부분의 URL 스킴의 문법은 일반적으로 9개 부분으로 나뉜다.
차례대로 살펴보자.
주어진 리소스에 어떻게 접근하는지 알려주는 중요한 정보다. URL을 해석하는 애플리케이션이 어떤 프로토콜을 사용하여 리소스를 요청해야 하는지 알려준다.
http
가 스킴이다.
URL의 호스트와 포트 컴포넌트는 리소스를 호스팅하고 있는 장비(호스트명 또는 IP주소)와 그 장비 내에서 리소스에 접근할 수 있는 서버가 어디에 있는지 알려준다.
많은 서버가 자신이 가지고 있는 데이터에 접근을 허용하기 전에 사용자 이름과 비밀번호를 요구한다.
@
문자로 URL로부터 사용자 이름과 비밀번호 컴포넌트를 분리한다.
사용자 이름과 비밀번호를 :
문자로 분리한다.
ftp://anonymous:my_password@ftp.perp.ai.mit.edu/pub/gnu
서버가 리소스의 위치를 찾는데 사용하는 정보다.
http://www.something.com:80/seasonal/index-fall.html
위 주소에서 /seasonal/index-fall.html
가 URL의 경로가 된다.
많은 프로토콜이 리소스에 접근하기 위해서 사용자 이름 및 비밀번호 외에도 많은 정보를 요구한다.
URL의 파라미터 컴포넌트는, 애플리케이션이 서버에 정확한 요청을 하기 위해 필요한 입력 파라미터를 받는데 사용한다.
;
문자로 구분하며 이름/값
쌍의 리스트 형태를 띈다.
http://www.joes-hardware.com/hammers;sale=false/index.html;graphics=true
데이터베이스 같은 서비스들은 리소스 형식의 범위를 좁히기 위해서 질문이나 질의를 받을 수 있다. 물음표의 우측에 값이 들어오며,
http://www.joes-hardware.com/inventory-check.cgi?item=12731
제품번호가 12731!
리소스의 특정 부분을 가리킬 수 있도록,URL은 리소스 내의 조각을 가리킬 수 있는 프래그먼트 컴포넌트를 제공한다. 예를 들어 URL은 html 문서에 있는 특정 이미지나 일부분을 가리킬 수 있다. URL의 오른쪽에 #
문자에 이어서 온다.
http://www.joes-hardware.com/tools.html#drills
웹 클라이언트는 몇몇 단축 URL을 인식하고 사용한다. 상대 URL은 리소스 안에 있는 리소스를 간결하게 기술하는데 사용할 수 있다.
URL은 상대 URL
과 절대 URL
로 나뉜다. 현재까지 우리가 다룬 것은 절대 URL뿐이다.
절대 URL은 리소스에 접근하는데 필요한 모든 정보를 가지고 있다.
그에 반해 상대 URL은 모든 정보를 담고 있지는 않다. URL을 짧게 표기하는 방식이다.
🧐절대 URL
http://www.joes-hardware.com/tools.html
🧐기저 URL
http://www.joes-hardware.com/
🧐상대 URL
./hammers.html
기저 URL
상대 URL의 기준이 된다.
URL 문법의 종류와 스킴 종류가 이렇게나 많다니! 처음 보는 키워드들이 아주 많이 튀어나왔다. 그럼에도 어디서 들어본적은 있는 키워드 또한 많이 나왔고 키워드로 그치지 않고 그 속까지 들여다 본 것 같아서 재밌게 읽었다. 특히 미래에 관한 부분이 흥미로웠다. 앞으로 다가올 미래의 기술은 어떻게 현재의 방식을 꿰찰지...
URL은 세상에 존재하는 모든 객체에 이름을 지을 수 있다. 그렇지만 URL은
주소
이지 실제 이름은 아니다. 이는 URL이 특정 시점에 어떤 것이 위치한 곳을 알려준다는 것을 뜻한다. 이러한 스킴의 단점은 리소스가 옮겨지면 URL을 더는 사용할 수 없다는 것이다. 기존에 가리키던 객체 또한 찾을 수 없다.
이런 단점을 보완하고자 나온 방법이 URN이며, 객체가 옮겨지더라도 항상 객체를 가리킬 수 있는 이름을 제공하기 때문에 위치가 바뀌더라도 리소스의 위치를 찾을 수 있다.
일목요연하게 정리를 잘하셨네요! 잘 읽고 갑니다👀