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 - ctat8.com
HTTP Status: 301
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Thu, 29 May 2025 12:33:02 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Location: https://ctat8.com/
Strict-Transport-Security: max-age=31536000
cf-cache-status: DYNAMIC
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v4?s=9%2Fp6KhKyr09J2yv43bV6W2Z1sfEP8BHfMIA05eC%2BWZmGB7b18%2F3jiDyCiuD%2B676G2qrde3n7Anen5X8xNralK45qs9MYP4jGVEzxl6%2F2ORWrE5Ce4%2FKYQU4fCsdt3ELkbEEdjQGXMzo%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Server: cloudflare
CF-RAY: 947604946fed6658-AMS
alt-svc: h3=":443"; ma=86400
server-timing: cfL4;desc="?proto=TCP&rtt=29065&min_rtt=29065&rtt_var=14532&sent=1&recv=3&lost=0&retrans=0&sent_bytes=0&recv_bytes=165&delivery_rate=0&cwnd=249&unsent_bytes=0&cid=0000000000000000&ts=0&x=0"
date: Thu, 29 May 2025 12:33:03 GMT
content-type: text/html; charset=UTF-8
server: cloudflare
nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
vary: Accept-Encoding
expires: Thu, 19 Nov 1981 08:52:00 GMT
cache-control: no-store, no-cache, must-revalidate
pragma: no-cache
strict-transport-security: max-age=31536000
cf-cache-status: DYNAMIC
report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=tF7VwTjQvodA15OtVcl5EoDdIQhhkjq7jJgK6tc4g9mLGIh77fk5ICFcQxdrcgZM6QLV9Zg3iV0vGqLB3AVENNyck0zRf%2ByMCvvv6YqhhjotKPxYUg%3D%3D"}]}
set-cookie: PHPSESSID=0d853a3f96ee926bd7eee99c9cc76d28; Path=/
cf-ray: 9476049759a0b97b-AMS
alt-svc: h3=":443"; ma=86400

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

301 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: ctat8.com
Accept: */*
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>在线聊天咨询端</title>
    <!-- 使用版本号控制缓存,而不是时间戳 -->
    <link rel="stylesheet" href="css/style.css?v=1.0.3">
    <!-- 强制禁用缓存 -->
    <meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, max-age=0">
    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Expires" content="0">
    <!-- PWA相关代码 - 修复了路径问题 -->
    <link rel="apple-touch-icon" href="assets/icon-192x192.png?v=1.0.3">
    <!-- 添加Service Worker注销代码 -->
    <script>
    // 检查并注销所有Service Worker
    if ('serviceWorker' in navigator) {
      navigator.serviceWorker.getRegistrations().then(registrations => {
        for(let registration of registrations) {
          registration.unregister();
          console.log('Service Worker已注销');
        }
      });
      
      // 清除所有缓存
      if ('caches' in window) {
        caches.keys().then(cacheNames => {
          return Promise.all(
            cacheNames.map(cacheName => {
              console.log(`清除缓存: ${cacheName}`);
              return caches.delete(cacheName);
            })
          );
        });
      }
    }
    </script>
    <!-- 确保关键WebSocket辅助函数始终可用 -->
    <script>
    // 在页面顶部定义关键的WebSocket辅助函数,确保它们始终可用
    window.safelyCallWebSocketMethod = function(wsClient, methodName, ...args) {
        if (!wsClient) {
            console.warn(`无法调用WebSocket.${methodName},WebSocket客户端不存在`);
            return null;
        }
        
        if (typeof wsClient[methodName] !== 'function') {
            console.warn(`WebSocket客户端没有${methodName}方法`);
            return null;
        }
        
        try {
            return wsClient[methodName](...args);
        } catch (error) {
            console.error(`调用WebSocket.${methodName}时出错:`, error);
            return null;
        }
    };

    // 安全地断开WebSocket连接
    window.safelyDisconnectWebSocket = function(wsClient) {
        return window.safelyCallWebSocketMethod(wsClient, 'disconnect');
    };

    // 安全地检查WebSocket连接状态
    window.isWebSocketConnected = function(wsClient) {
        return wsClient && window.safelyCallWebSocketMethod(wsClient, 'isConnected') === true;
    };

    // 安全地设置WebSocket回调
    window.safelySetWebSocketCallback = function(wsClient, callbackName, callback) {
        if (!wsClient) {
            console.warn(`无法设置WebSocket.${callbackName}回调,WebSocket客户端不存在`);
            return false;
        }
        
        const methodName = 'on' + callbackName.charAt(0).toUpperCase() + callbackName.slice(1);
        
        if (typeof wsClient[methodName] !== 'function') {
            console.warn(`WebSocket客户端没有${methodName}方法`);
            return false;
        }
        
        try {
            wsClient[methodName](callback);
            return true;
        } catch (error) {
            console.error(`设置WebSocket.${methodName}回调时出错:`, error);
            return false;
        }
    };

    // 声明全局WebSocket客户端变量
    let wsClient = null;
    </script>
    <style>
        /* 系统信息样式 */
        .system-message.info {
            background-color: rgba(0, 123, 255, 0.15);
            color: #0056b3;
            padding: 8px 12px;
            border-radius: 5px;
            margin: 8px auto;
            text-align: center;
            font-weight: normal;
            font-size: 14px;
            border-left: 3px solid #0056b3;
        }
        
        /* 淡出动画 */
        .system-message.fade-out {
            opacity: 0;
            transition: opacity 0.5s ease-out;
        }
        
        /* 封禁消息样式 */
        .system-message.error.permanent {
            position: sticky;
            bottom: 10px;
            background-color: rgba(220, 53, 69, 0.9);
            color: white;
            padding: 10px 15px;
            border-radius: 5px;
            margin: 10px auto;
            text-align: center;
            font-weight: bold;
            z-index: 100;
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        }
    </style>
</head>
<body class="user-page login-page">
    <div class="container">     
                <!-- 昵称设置表单 -->
        <div class="name-form">
            <form method="post" action="" id="user_name_form">
                <div class="form-group">
                    <label for="user_name">请输入你的昵称</label>
                    <input type="text" id="user_name" name="user_name" required placeholder="输入昵称" maxlength="20">
                    <div class="char-counter-name"><span id="nameCharCount">0</span>/20</div>
                </div>
                <button type="submit" class="btn" style="color: black !important;">开始聊天</button>
            </form>
        </div>
        
        <script>
        // 昵称输入框字符计数器
        document.addEventListener('DOMContentLoaded', function() {
            const userNameInput = document.getElementById('user_name');
            const charCount = document.getElementById('nameCharCount');
            
            // 初始更新计数
            updateNameCharCount();
            
            // 监听输入事件更新计数
            userNameInput.addEventListener('input', updateNameCharCount);
            
            function updateNameCharCount() {
                charCount.textContent = userNameInput.value.length;
                
                // 如果接近上限,改变颜色提醒用户
                if (userNameInput.value.length > 16) {
                    charCount.classList.add('char-limit-warning');
                } else {
                    charCount.classList.remove('char-limit-warning');
                }
            }
        });
        </script>
            </div>

    </body>
</html>                               

Alan adının whois bilgisi

Domain Name: CTAT8.COM
Registry Domain ID: 2980725677_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.namecheap.com
Registrar URL: http://www.namecheap.com
Updated Date: 2025-05-05T16:12:14Z
Creation Date: 2025-05-05T15:57:43Z
Registry Expiry Date: 2026-05-05T15:57:43Z
Registrar: NameCheap, Inc.
Registrar IANA ID: 1068
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +1.6613102107
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: VAL.NS.CLOUDFLARE.COM
Name Server: YAHIR.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-29T12:32:47Z <<<
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