Regular Motion

개발자가 상팔자

[URL] components of url.

* URL(Uniform Resource Locator)은 URI(Universal Resource Identifier)의 한 종류로써 인터넷에 존재하는 Resource의 위치를 표현(locate)하기 위해 사용된다. 따라서 Client들은 URL을 통해 Server로 Resource를 요청할 수 있다.

components of url

components of url

* URL은 위와 같이 구성되고 각각의 요소들의 역활은 아래와 같다.

 

1) scheme : Resource에 접근하기 위해 사용하는 protocol을 의미한다. 대부분의 Web Server는 HTTP (without SSL) 또는 HTTPS (without SSL) Protocol을 통해 Resource를 제공한다.

2) host : Resource를 갖고 있는 host의 이름을 의미하며, IP 주소와 맵핑된다. 따라서 Client에서는 host에 IP 주소를 직접 입력하여도 무관하다.

* host name을 IP 주소로 변환해주는 작업을 하는게 DNS (Domain Name Server).

3) port : 서버가 어떤 포트를 통해 운영중인지 나타낸다. HTTP(80)나 HTTPS(443) 기본 port를 사용하여 운영중인 경우는 생략 가능하다. 만약 다른 port를 통해 서비스 한다면 host 뒤에 colon(:)과 함께 port 번호를 명시해줘야 한다.

4) path : host내에서 Resource의 세부 위치를 가르키기 위해 사용한다.

5) query : path 뒤에 위치하는 component로써 Server가 특정 작업(search …)을 할 수 있도록 정보를 제공해준다. 일반적으로 key/value 쌍으로 제공한다.

#tip : scheme와 host는 대/소문자를 구분하지 않지만 path와 query는 대/소문자를 구분하고, URL은 소문자로 표현하는 것이 일반적이다.

 

* Fragment

fragment

fragment

Fragment는 #를 구분자로 하여 문서(Resource) 내에서의 위치를 나타내기 위해 사용하고, Fragment를 포함하는 URL을 Fragment URL이라고 한다.

Fragment는 문서내에서의 위치를 나타내기 때문에 서버로 데이터를 요청할때 누락(Skip)되고, 문서(Resource) 내에서 Fragment가 변경될 때 서버로 데이터를 요청하지 않는다. 다만 history는 변경된다.

Fragment Ex) http://developer.android.com/google/play-services/auth.html#use

#tip : googlebot은 fragment를 skip한다. javascript에서는 window.location.hash를 변경함으로써 fragment 값을 변경할 수 있다.

2 Comments

  1. I think this is a real great article post.Much thanks again. Want more.

  2. Its such as you read my thoughts! You appear to understand so much about this, like you wrote the guide in it or something. I think that you just can do with a few p.c. to drive the message home a little bit, but other than that, that is excellent blog. A great read. I’ll certainly be back.

답글 남기기

© 2017 Regular Motion

Theme by Anders NorenUp ↑