Check server response of

Server response
NS records
Whois domain
Response headers
Request headers
Raw HTML code
301 Moved Permanently - blab.com
HTTP Status: 301
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
content-type: text/html
content-length: 795
date: Wed, 07 May 2025 05:01:59 GMT
server: LiteSpeed
location: https://blab.com/
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests

HTTP Code 301 Moved Permanently

301 status code means that the requested resource has been permanently moved to a new URL. All future requests should use the new address.

When is Code 301 used?

  • When changing a website domain
  • When modifying URL structures
  • When setting up redirects for SEO

What does Code 301 mean for the user?

The browser will automatically redirect the user to the new address, and search engines will update their indexes.

200 OK - https://blab.com/
HTTP Status: 200
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Connection: Keep-Alive
Keep-Alive: timeout=5, max=100
x-powered-by: PHP/7.2.34
content-type: text/html; charset=UTF-8
content-length: 6772
date: Wed, 07 May 2025 05:01:59 GMT
server: LiteSpeed
platform: hostinger
panel: hpanel
content-security-policy: upgrade-insecure-requests
alt-svc: h3=":443"; ma=2592000, h3-29=":443"; ma=2592000, h3-Q050=":443"; ma=2592000, h3-Q046=":443"; ma=2592000, h3-Q043=":443"; ma=2592000, quic=":443"; ma=2592000; v="43,46"

HTTP Code 200 OK

200 status code is a standard successful HTTP server response. It means that the client’s request (e.g., from a browser) was successfully processed, and the server is delivering the requested data.

When is Code 200 used?

  • When loading a web page
  • When successfully receiving an API response
  • When processing a form or another HTTP request

What does Code 200 mean for the user?

The user receives content without errors, and the page or application functions properly. If Code 200 is accompanied by data, the browser or program processes and displays it to the user.

GET / HTTP/1.1
Host: blab.com
Accept: */*
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Blab.com</title>
  <style>
    /* General Styling */
    body, html {
        margin: 0;
        padding: 0;
        font-family: Arial, sans-serif;
        background-color: #fcfbfd;
        color: #333;
    }
    .container {
        max-width: 900px;
        margin: 0 auto;
        padding: 20px;
    }
    .logo-container {
        text-align: center;
        margin-bottom: 20px;
    }
    .logo-container img {
        max-width: 100%;
        height: auto;
        width: 450px;
    }
    .prompt-form {
        text-align: center;
        display: flex; 
        justify-content: center; 
        align-items: center; 
        gap: 10px; 
        margin-bottom: 20px;
    }
    .prompt-input {
        width: 70%;
        padding: 15px;
        font-size: 18px;
        border: 1px solid #ddd;
        border-radius: 5px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        height: 20px;
    }
    .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 16px;
        cursor: pointer;
        background-color: #007bff;
        color: white;
        border: none;
        border-radius: 5px;
        transition: background-color 0.3s ease;
        height: 50px;
        width: 120px;
        position: relative;
    }
    .spinner {
        width: 16px;
        height: 16px;
        border: 3px solid #fff;
        border-radius: 50%;
        border-top: 3px solid #007bff;
        animation: spin 1s linear infinite;
        position: absolute;
    }
    @keyframes spin {
        0%   { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }
    .response-container {
        margin-top: 30px;
    }
    .article {
        display: flex;
        gap: 20px;
        background-color: #fff;
        padding: 20px;
        border-radius: 8px;
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        display: none; 
    }
    .quick-fact-container {
        flex: 1;
        max-width: 250px;
        display: flex;
        flex-direction: column;
        gap: 10px;
    }
    .first-image,
    .second-image {
        width: 100%;
        max-width: 250px;
        border-radius: 8px;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        margin-bottom: 10px;
        display: none;
    }
    .quick-fact {
        background-color: #e6f7ff;
        padding: 15px;
        border-radius: 8px;
        font-size: 14px;
        text-align: left;
        line-height: 1.4;
        display: none;
    }
    .article-text {
        flex: 3;
        font-size: 18px;
        line-height: 1.6;
        display: none;
    }
  </style>
</head>

<body>
<div class="container">
  <div class="logo-container">
    <img src="blab.com_logo.png" alt="Blab.com Logo">
  </div>
  <h1 style="text-align: center;">Ask a Question or Anything</h1>
  <form class="prompt-form" id="aiGeneratorForm">
      <input type="text" id="promptInput" class="prompt-input" placeholder="Enter your request" required>
      <button type="submit" class="button" id="generateButton">Generate</button>
  </form>

  <div class="response-container">
      <div class="article" id="article">
          <div class="quick-fact-container">
              <img id="firstImage" class="first-image" alt="Generated Image">
              <div class="quick-fact" id="funFact"></div>
              <img id="secondImage" class="second-image" alt="Second Image">
          </div>
          <div class="article-text" id="mainText"></div>
      </div>
  </div>
</div>

<script>
// Handle the form submit
document.getElementById('aiGeneratorForm').addEventListener('submit', async (e) => {
    e.preventDefault();
    const prompt = document.getElementById('promptInput').value;
    const firstImage = document.getElementById('firstImage');
    const secondImage = document.getElementById('secondImage');
    const funFact = document.getElementById('funFact');
    const mainText = document.getElementById('mainText');
    const article = document.getElementById('article');
    const generateButton = document.getElementById('generateButton');

    // Show spinner and disable button
    generateButton.innerHTML = '<div class="spinner"></div>';
    generateButton.disabled = true;

    // Hide placeholders
    article.style.display = 'none';
    funFact.style.display = 'none';
    mainText.style.display = 'none';
    firstImage.style.display = 'none';
    secondImage.style.display = 'none';

    try {
        // 4 concurrent requests
        const [textResponse, imageResponse, secondImageResponse, quickFactResponse] = await Promise.all([
            fetchAPI('generate_text', prompt),
            fetchAPI('generate_image', prompt),
            fetchAPI('generate_second_image', prompt),
            fetchAPI('generate_quick_fact', prompt)
        ]);

        // If there's an error property, log it:
        console.log("Responses:", {
            textResponse,
            imageResponse,
            secondImageResponse,
            quickFactResponse
        });

        // Populate the text
        funFact.textContent = quickFactResponse.fact || 'No fun fact.';
        mainText.innerHTML = textResponse.text || 'No text generated.';
        funFact.style.display = 'block';
        mainText.style.display = 'block';

        // Display images
        if (imageResponse.image) {
            firstImage.src = imageResponse.image;
            firstImage.style.display = 'block';
        }
        if (secondImageResponse.image) {
            secondImage.src = secondImageResponse.image;
            secondImage.style.display = 'block';
        }

        // Show the article container
        article.style.display = 'flex';

    } catch (error) {
        console.error('Error generating responses:', error);
    } finally {
        generateButton.innerHTML = 'Generate';
        generateButton.disabled = false;
    }
});

// Helper to call this same file as a proxy
async function fetchAPI(action, prompt) {
    const response = await fetch(window.location.href, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ action, prompt })
    });
    const data = await response.json();
    return data;
}
</script>

<footer style="text-align: center; padding: 20px 0; font-size: 14px;">
    © 2024 Blab LLC. All rights reserved.
    <a href="https://www.blab.com/terms" style="text-decoration: none; color: black;">Terms</a>
</footer>
</body>
</html>

                               

Whois info of domain

Domain Name: BLAB.COM
Registry Domain ID: 2717489_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.godaddy.com
Registrar URL: http://www.godaddy.com
Updated Date: 2022-10-25T22:26:05Z
Creation Date: 1998-09-23T04:00:00Z
Registry Expiry Date: 2031-09-22T04:00:00Z
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: NS1.DNS-PARKING.COM
Name Server: NS2.DNS-PARKING.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2025-05-07T05:01:40Z <<<
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