Sunucu yanıtını kontrol edin

Sunucu yanıtı
NS kayıtları
Whois alanı
Yanıt başlıkları
İstek başlıkları
Ham HTML kodu
301 Moved Permanently - kc7.com
HTTP Status: 301
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Sat, 31 May 2025 03:59:06 GMT
Content-Type: text/html
Content-Length: 167
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Sat, 31 May 2025 04:59:06 GMT
Location: https://kc7.com/
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=ZWyKYC3FM9GcuGAo6dSEpy0uLjqDVPjhkyPwhOiKUXx4eMNpTRb8k51BZhSQyZaG5p5aE72XcR6j0x7l%2BGpB3hiT05eEjfW%2FTYzD7irpyPkyvmaMDHGEokUQR2aPWevKI02joEmQ"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Server: cloudflare
CF-RAY: 94838e841b200a18-ARN
alt-svc: h3=":443"; ma=86400
server-timing: cfL4;desc="?proto=TCP&rtt=7422&min_rtt=7422&rtt_var=3711&sent=1&recv=3&lost=0&retrans=0&sent_bytes=0&recv_bytes=163&delivery_rate=0&cwnd=249&unsent_bytes=0&cid=0000000000000000&ts=0&x=0"
date: Sat, 31 May 2025 03:59:07 GMT
content-type: text/html
server: cloudflare
last-modified: Mon, 12 May 2025 13:16:39 GMT
vary: Accept-Encoding
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=zwRg%2B5%2F5cd3nnBEafLC5u7Rm6MRu%2F61DHORCT72reteR5hlbiWXv4gIsK%2BiTJL2Hpn5TOcgYdsqrW5aFO0M4GqlRnox93cP3Q9KrZuDGo4y336U%3D"}]}
strict-transport-security: max-age=31536000
cf-cache-status: DYNAMIC
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
cf-ray: 94838e846b84f430-ARN
alt-svc: h3=":443"; ma=86400

HTTP Kodu 301 Kalıcı Olarak Taşındı

301 http durum kodu, istenen kaynağın kalıcı olarak yeni bir URL'ye taşındığı anlamına gelir. Gelecekteki tüm istekler yeni adresi kullanmalıdır.

Kod 301 ne zaman kullanılır?

  • Bir web sitesi alan adını değiştirirken
  • URL yapılarını değiştirirken
  • SEO için yönlendirmeleri ayarlarken

Kod 301 kullanıcı için ne anlama geliyor?

Tarayıcı kullanıcıyı otomatik olarak yeni adrese yönlendirecek ve arama motorları dizinlerini güncelleyecektir.

GET / HTTP/1.1
Host: kc7.com
Accept: */*
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE html>
<html>
<head>
    <script>
        // 1. 设置URL协议
        const urlProtocol = "https://";
        // 2. 优先检测域名数组,本数组是固定域名不会随机二级域名
        const priorityDomainArray = [
            "47.236.43.195",
            "47.236.4.136", 
            "8.219.194.111", 
            "kc9-check.123403.workers.dev", 
        ];
        // 3. 备用域名数组,本数组会随机二级域名,所以不要自行输入二级域名
        const spareDomainArray =[
            "kc9network.dev",
        ];
        // 4. 图片路径, 以斜杠开头
        const jpgPath = "/kc9-check/jiance/jiance.png";

        // 5. 跳转域名的路径和文件名
        const dirPath = "/kc9-check/index.html"
    </script>

    <title></title>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- 禁止缓存 -->
	<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
	<meta http-equiv="Pragma" content="no-cache">
	<meta http-equiv="Expires" content="0">

    <!-- 自定义状态栏颜色 -->
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="theme-color" content="#FFFFFF" />

    <!-- 自定义加载器样式 -->
    <style>
        body {
            display: flex; /* 使用flex布局 */
            justify-content: center; /* 水平居中 */
            align-items: center; /* 垂直居中 */
            height: 100vh; /* 设定高度为视口的100% */
            margin: 0; /* 去掉默认的边距 */
            background-color: #FFF; /* 背景颜色 */
            overflow: hidden; /* 禁止滚动 */
        }

        @keyframes l13 { 
            100% { transform: rotate(1turn); }
        }
    </style>
</head>
<body>
	<script>
        // 本标签只定义函数
        // 检查时间戳
        function checkTimeStamp (){
            const currentUrl = window.location.href;
            // 检查 URL 是否包含时间戳参数
            if (!currentUrl.includes("?t=")) {
                // 添加时间戳并重定向
                const newUrl = currentUrl.split("?")[0] + "?t=" + new Date().getTime();
                window.location.replace(newUrl);
            }
        }

        // 获取URL完整地址
        function getFullUrl (protocol, mainDomainArray, jpgPath, isRandomSubDomain){
            // 定义函数:生成length长度的随机字符串
            function generateRandomString(length){
                const characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
                let result = '';
                const charactersLength = characters.length;
                for (let i = 0; i < length; i++) {
                    const randomIndex = Math.floor(Math.random() * charactersLength);
                    result += characters.charAt(randomIndex);
                }
                return result;
            }

            if (isRandomSubDomain){
                // 随机二级域名
                const randomSubdomainLength = 5; // 定义随机子域名的长度
                const numberOfSubdomainsPerDomain = 5; // 定义每个主域名要生成多少个带随机子域名的 URL
                // 使用 flatMap 方法遍历 mainDomainArray
                return mainDomainArray.flatMap( mainDomain => {
                    // 使用 Array.from 和 map 在内部生成 5 条 URL
                    const urlsForThisDomain = Array.from({length:numberOfSubdomainsPerDomain}).map(()=>{
                        // 1. 生成一个指定长度的随机字符串作为子域名
                        const randomSubdomain = generateRandomString(randomSubdomainLength);
                        // 2. 拼接URL
                        const fullUrl = `${protocol}${randomSubdomain}.${mainDomain}${jpgPath}`;
                        // 3. 将 fullUrl 收集到 urlsForThisDomain
                        return fullUrl;
                    });
                    return urlsForThisDomain;
                });

            } else {
                // 固定主域名
                return mainDomainArray.map( domain => `${protocol}${domain}${jpgPath}`)
            }
        }

        // 获取最快域名
        /**
         * 检查图片 URL 数组,找到最快加载成功的图片对应的域名。
         * 函数返回一个 Promise,在找到第一个可用的域名时解析该域名,
         * 如果所有尝试都失败或超时,则拒绝该 Promise。
         * @param {string[]} imageUrlsArray 包含图片完整 URL 的字符串数组
         * @param {number} timeoutPerImage 每个图片加载的超时时间(毫秒)
         * @returns {Promise<string>} Promise,在找到第一个可用的基础域名时解析,否则拒绝。
         */
        function findFastestUrl(imageUrlsArray, timeoutPerImage = 8000){
            // 辅助函数:从一个完整的 URL 中提取基础域名
            function getBaseDomain(url){
                try {
                    const parsedUrl = new URL(url);
                    return `${parsedUrl.protocol}//${parsedUrl.host}${dirPath}`;
                } catch (e) {
                    console.error(`无法解析 URL: ${url}`, e);
                    return null
                }
            }

            return new Promise ((mainResolve, mainReject) => {
                if (!imageUrlsArray || imageUrlsArray.length === 0) {
                    return mainReject ("URL 数组为空。")
                }

                let resolved = false; // 标志是否已经找到并解析了主 Promise
                let attemptsFinishedCount = 0;
                const totalAttempts = imageUrlsArray.length;
                // 辅助函数:检查所有尝试是否都已经结束
                const checkAllAttemptsFinished = () => {
                    attemptsFinishedCount ++;
                    // 如果所有尝试都已完成,并且主 Promise 还没有被解析(意味着没有找到成功的)
                    if (attemptsFinishedCount === totalAttempts && !resolved){
                        mainReject ("所有图片 URL 都无法访问或超时。");
                    }
                };

                imageUrlsArray.forEach(imageUrl => {
                    const imageCheckPromise = new Promise ((innerResolve, innerReject) => {
                        const img = new Image();
                        let timer = null;

                        // 辅助函数:清理定时器并移除事件监听器
                        const cleanup = () => {
                            if (timer) clearTimeout (timer);
                            img.onload = null;
                            img.onerror = null;
                        };

                        img.onload = () => {
                            cleanup();
                            const domain = getBaseDomain(imageUrl);
                            if(domain){
                                // 图片加载成功且域名有效
                                if (!resolved){
                                    resolved = true;
                                    mainResolve(domain);
                                }
                                innerResolve(domain);
                            } else {
                                innerReject(`无法从 URL 提取域名: ${imageUrl}`);
                            }
                            checkAllAttemptsFinished(); //标记本次尝试已完成
                        };

                        img.onerror = () => {
                            cleanup();
                            innerReject(`图片加载失败: ${imageUrl}`); // 图片加载失败(包括 404, 500 等)
                            checkAllAttemptsFinished(); //标记本次尝试已完成
                        };

                        timer = setTimeout(() => {
                            cleanup();
                            innerReject(`图片加载超时(${timeoutPerImage}ms): ${imageUrl}`); //加载超时
                            checkAllAttemptsFinished(); //标记本次尝试已完成
                        },timeoutPerImage);

                        // 创建带查询参数的图片 URL (防止缓存)
                        const cacheBusterUrl = imageUrl + (imageUrl.includes('?') ? '&' : '?') + '_=' + new Date().getTime();
                        img.src = cacheBusterUrl;

                    });
                });

            });
        }
    </script>
    <script>
        // 配置区域
        // 1. 检查时间戳
        checkTimeStamp();
        // 2. 获取优先域名url
        const priorityUrlArray = getFullUrl(urlProtocol,priorityDomainArray,jpgPath,false);
        // 3. 寻找最快优先域名
        findFastestUrl(priorityUrlArray)
            .then(fastestDomain => {
                // 成功找到最快优先的域名
                console.log(`找到优先最快的域名:${fastestDomain}`);
                window.location.replace(fastestDomain);
            })
            .catch(error =>{
                // 找不到最快的优先域名
                console.log('未找到最快的优先域名,尝试随机二级备用域名...')
                // 获取备用域名url
                const spareUrlArray = getFullUrl(urlProtocol,spareDomainArray,jpgPath,true);
                // 寻找最快备用域名
                findFastestUrl(spareUrlArray)
                    .then(fastestDomain => {
                        // 成功找到最快备用二级域名
                        console.log(`找到最快备用二级域名:${fastestDomain}`);
                        window.location.replace(fastestDomain);
                    })
                    .catch(error =>{
                        // 找不到最快备用二级域名
                        console.log("未找到最快备用二级域名,程序停止.")
                    })
            })

    </script>
</body>
</html>                               

Alan adının whois bilgisi

Domain Name: KC7.COM
Registry Domain ID: 98280562_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.godaddy.com
Registrar URL: http://www.godaddy.com
Updated Date: 2025-05-12T12:43:25Z
Creation Date: 2003-05-23T18:51:13Z
Registry Expiry Date: 2031-05-23T18:51:13Z
Registrar: GoDaddy.com, LLC
Registrar IANA ID: 146
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: 480-624-2505
Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited
Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Name Server: CLYDE.NS.CLOUDFLARE.COM
Name Server: DEB.NS.CLOUDFLARE.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2025-05-31T03:58:59Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
NOTICE: The expiration date displayed in this record is the date the
TERMS OF USE: You are not authorized to access or query our Whois
by the following terms of use: You agree that you may use this Data only
to: (1) allow, enable, or otherwise support the transmission of mass