URL은 여러 부분으로 나뉩니다. 다음 구문을 가정합니다.
scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]
그 외에도, 나는 보통 도메인과 하위 도메인에서 호스트를 분할하지만 이것이 공식적인 명명 체계인지는 확실하지 않습니다.
이를 통해 다음 세그먼트로 사례를 나눌 수 있습니다.
http://example.com/google.com/?q=http://example.net&#id=http://example.org&
- 계획:
http
- 숙주:
example.com.
- 도메인:
example.com.
- 통로:
google.com
- 질문:
q=http://example.net&
- 파편:
id=http://example.org&
http://google.com.example.com/file.example.com#666
- 계획:
http
- 숙주:
google.com.example.com.
- 도메인:
example.com.
- 하위 도메인 :
google.com
- 통로:
file.example.com
- 파편:
666
DNS의 경우 호스트 만 사용됩니다. 그런 다음 경로를 전달하고 서버에 쿼리합니다. 브라우저는 사용자를 올바른 페이지로 스크롤하거나 내용을 표시하거나 숨김으로써 조각을 처리합니다.
위의 예에서 일부 도메인 다음에 점을주의하십시오. 이는 도메인 또는 TLD (최상위 도메인)의 끝임을 의미합니다. 하위 도메인은 전체 참조가 아니기 때문에이를 가지고 있지 않습니다. DNS 레코드에서도이를 볼 수 있습니다 :
demo.example.com. 3600 IN A 12.34.56.78
localhost 3600 IN A 127.0.0.1
www 3600 IN CNAME demo.example.com.
ftp 3600 IN A 12.34.56.78
이 DNS 레코드는 다음 호스트를 생성합니다.
- demo.example.com, 12.34.56.78로 해결
- localhost.example.com, 127.0.0.1로 해결
- www.example.com, 12.34.56.78로 해결되는 demo.example.com으로 연결됨
- ftp.example.com, 12.34.56.78로 해결