DNS顯性URL、隱性URL轉發原理


需求

通過DNS的解析,訪問heytool.com時跳轉到www.heytool.com

標准的DNS協議中並無顯性URL、隱性URL類型的記錄

顯性URL測試

添加顯性URL記錄:heytool.com

  • 查看DNS解析情況

    dig解析上面的顯性記錄,發現被cname到了dnspod-free.mydnspod.net,他對應的兩個IP是54.248.82.230,54.248.143.107

  • 訪問測試

# curl -I http://heytool.com
HTTP/1.1 301 Moved Permanently # 301重定向
Date: Tue, 27 Aug 2013 08:24:21 GMT 
Cache-Control: max-age=120
Expires: Tue, 27 Aug 2013 08:26:21 GMT
Server: DNSPod URL V2.0 # DNSPod的服務器
Location: http://www.heytool.com # 跳轉到www.heytool.com
Content-Length: 0
Connection: close

隱性URL測試

iframe html示例

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        /* 將根元素占滿瀏覽器 */
        html, body {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
        }

        iframe {
            margin: 0 auto;
            display: block;
            width: 100%;
            height: 100%;
            border: 0;
        }
    </style>
    <script type="text/javascript">
        window.onload = function () {
            var iframeEle = document.getElementsByTagName("iframe");
            // iframe使用子頁面的title
            iframeEle.contentWindow.document.title;
        }
    </script>
</head>
<body>
<iframe src="https://www.baidu.com" allowfullscreen="true" allow="microphone; camera"></iframe>
</body>
</html>

顯性/隱性URL原理總結

  1. 域名管理員顯性/隱性URL解析,有些DNS服務商的顯性URL記錄還可以選擇響應狀態碼(可選302/301),記錄值為目標URL(http://www.heytool.com
  2. dns提供商將顯性/隱性URL記錄用(heytool.com),在創建相應的cname記錄解析到他們的服務器上(一般控制台上不顯式這些對應的cname記錄),並且這台服務器上配置了虛擬主機(heytool.com)
  3. 服務商服務器上的虛擬主機配置
    • 顯性URL跳轉:配置302URL重寫,或是301URL重寫
    • 隱性URL轉發:站點里面的index.html面加上iframe,iframe的src值為隱性URL記錄的值。在里面嵌套頁面,所以不管你怎么點鏈接,url地址欄都不會變化.除非你的連接是打開新頁面
  4. 顯性URL的本質是,創建了cname記錄指向服務商的服務器,此服務器設置了URL重寫(跳轉)
    隱性URL的本質,創建了cname記錄指向服務商的服務器,此服務器返回了一個包含iframe的html頁面


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM