Check server response of

Server response
NS records
Whois domain
Response headers
Request headers
Raw HTML code
301 Moved Permanently - m0a.com
HTTP Status: 301
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Tue, 29 Apr 2025 21:10:44 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 52
Connection: keep-alive
Location: http://mzeroa.com
Server: ip-100-74-4-158.eu-west-2.compute.internal
Vary: Accept-Encoding
X-Request-Id: a13f9fa6-fa8a-4c71-b7c8-fa8d316f7c4c

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.

302 Found - http://mzeroa.com
HTTP Status: 302
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Tue, 29 Apr 2025 21:10:44 GMT
Server: Apache/2.4.61 (Ubuntu)
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token, Authorization
Cache-Control: no-cache, private
Location: https://mzeroa.com/frontend/#/home
Set-Cookie: XSRF-TOKEN=eyJpdiI6IkQ5eTA2VEhRL3E5UThWUlhjYWwvMkE9PSIsInZhbHVlIjoiYythRVpxdUVtczEya2hxRWM1cTNOZis2K3V0d1h1M2E5K0FSc09MakVNbVVJeFJtaU5VL28wSU5BV05HdUZFdkV0NzdPY3FmQi9BMVAzZTlta1hmUjFtd1FlWUlpNHRPSnQzc0Z4ZUlZQ1JBcSswNFNYajFtYlRqY0JVR2ZwM2IiLCJtYWMiOiI0MGExYjIxZDk3ZGFiMDY2ODk5NjA0MWY0ZGFlZGQ0NGUxYjg3YTNmZjRhNmQ4NDY1NDAyNjkxNzYzNzg2MDRmIiwidGFnIjoiIn0%3D; expires=Tue, 29 Apr 2025 23:10:44 GMT; Max-Age=7200; path=/
Set-Cookie: mzeroasupport_session=eyJpdiI6IjEvTENsNlpvT2R4RlNxNzNEeWthMlE9PSIsInZhbHVlIjoibE1zc2dSNm9NaVlyakpnRzE5T2pWZHpqTlc5dnNueHFZcXBNTDBrVnQrSGtZQkJ3WDVyUnA1ZnRiMjdiTVRCeW9IcW1XVFMzTklWNGxuYVA4YnlZSVpFRzBmUVVMUDVUdHNydUkyazhuR2NWNWg1Z3ZSTlQ0Vk1zejkyQlM5c3QiLCJtYWMiOiI1ZmVkZTFkMWZmNDgzY2RkOTg0ZGJhMzdlN2E0ZTdjZTQ5MTFmYTY2YTBmYTFmNTg5ZDVkMWFiMjEzZGFhZjc0IiwidGFnIjoiIn0%3D; expires=Tue, 29 Apr 2025 23:10:44 GMT; Max-Age=7200; path=/; httponly
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8

HTTP Code 302 Found (Moved Temporarily)

302 status code indicates that the requested resource is temporarily available at a different URL.

When is Code 302 used?

  • When temporarily changing a page URL
  • When testing new content
  • During temporary maintenance

What does Code 302 mean for the user?

The user is automatically redirected to the new URL, but search engines continue to index the old address.

200 OK - https://mzeroa.com/
HTTP Status: 200
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Tue, 29 Apr 2025 21:10:45 GMT
Server: Apache/2.4.61 (Ubuntu)
Last-Modified: Tue, 29 Apr 2025 13:36:11 GMT
ETag: "2697-633eae245249a"
Accept-Ranges: bytes
Content-Length: 9879
Vary: Accept-Encoding
Content-Type: text/html

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: m0a.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>MzeroA.com</title>
  <base href="">  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-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="description" content="MzeroA.com">
  <meta name="keywords" content="MzeroA.com">
  <meta name="author" content="MzeroA.com">
  <link rel="icon" type="image/png" sizes="16x16" href="assets/images/loader.png">
  <link href="https://fonts.googleapis.com/css?family=Ubuntu:300,400,400i,700,700i&display=swap" rel="stylesheet">
  <link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,500,500i,600,700,700i&display=swap" rel="stylesheet">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="styles.03d94129b0512668b7f2.css"></head>

<body>

<app-root></app-root>

<!-- Google Tag Manager (noscript) -->
<noscript>
  <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K6ZNN8T"
          height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
 
<!-- iTracker360 JS Snippet -->
<script type="text/javascript" src="https://d2ieqaiwehnqqp.cloudfront.net/t3bdc1221e2e0899cfaad945a7cbe44b9.js"></script>

<script src="https://cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.js"></script>
<script>
  new WOW().init();

  window.onload = function () {
    
    (function (w, d, s, l, i) {
      w[l] = w[l] || [];
      w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
      var f = d.getElementsByTagName(s)[0],
        j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
      j.async = true;
      j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
      f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-K6ZNN8T');
  };

  document.body.addEventListener("click", function (event) {
    const link = event.target.closest('a[href*="infusionsoft.app/app/orderForms"]');
    if (!link) return; // Exit if not a checkout link


    let itemName = link.getAttribute("data-gtm-name") || "Unknown Item";
    let itemID = link.getAttribute("data-gtm-id") || "Unknown ID";
    let rawPrice = link.getAttribute("data-gtm-price") || "0.00";
    let itemCategory = link.getAttribute("data-gtm-category") || "Uncategorized";

    let priceValues = rawPrice.split("-").map(p => parseFloat(p.trim())).filter(p => !isNaN(p));
    let itemPrice = priceValues.length ? Math.min(...priceValues) : 0;

    window.latestClickData = {
      item_name: itemName,
      item_id: itemID,
      price: itemPrice,
      category: itemCategory,
      full_price_range: rawPrice,
      last_page_visited: document.referrer || window.location.href,
    };


    if (!window.addToCartDebounce) {
      window.addToCartDebounce = setTimeout(() => {

        if (window.dataLayer && Array.isArray(window.dataLayer)) {
          window.dataLayer.push({
            event: "add_to_cart",
            ecommerce: {
              currency: "USD",
              items: [window.latestClickData]
            }
          });
        } else {
          console.error("dataLayer is NOT available! Event NOT pushed.");
        }

        window.addToCartDebounce = null;
        window.latestClickData = null;
      }, 250);
    }
  }, true); // Capture phase event delegation
</script>
<script>
  (function () {
    // Define product details based on URL key (include both production and sandbox values)
    const productLookup = {
        "OGS-Gold": { item_name: "Gold", item_id: "GSA-Gold", price: 159, category: "Membership", full_price_range: "159.00" },
        "OGS-Silver": { item_name: "Silver", item_id: "GSA-Silver", price: 139, category: "Membership", full_price_range: "139.00" },
        "OGS-Bronze": { item_name: "Bronze", item_id: "GSA-Bronze", price: 109, category: "Membership", full_price_range: "109.00" },
        "FAA-Written-Boot-Camp": { item_name: "FAA Written Boot Camp", item_id: "FAA-Written-Boot-Camp", price: 70, category: "Course", full_price_range: "70.00-100.00" },
        "Remote Pilot 101-UAS Course": { item_name: "Remote Pilot Full Course", item_id: "Remote-Pilot-101-UAS-Course", price: 179, category: "Course", full_price_range: "179.00" },
    };

    // Extract the orderId from URL query string or hash
    function getOrderIdFromURL() {
        const searchParams = new URLSearchParams(window.location.search);
        const hashParams = new URLSearchParams(window.location.hash.replace(/^#\/[^?]*\?/, ''));
        const orderId = searchParams.get("orderId") || hashParams.get("orderId");

        if (orderId) {
            return orderId;
        } else {
            console.warn("No orderId found in URL.");
            return null;
        }
    }

    // Fetch order details from the API endpoint using the orderId
    async function fetchOrderDetails(orderId) {
        const apiUrl = `https://mzeroa.com/api/endpoint/order/${orderId}`;
        try {
            const response = await fetch(apiUrl);
            if (!response.ok) throw new Error(`API Request Failed: ${response.status}`);
            const orderData = await response.json();
            return orderData;
        } catch (error) {
            console.error("Error fetching order data:", error);
            return null;
        }
    }

    // Slugify helper — collapse any non‐alphanumeric run into “-”
    function slugify(str) {
        return str
        .trim()
        .toLowerCase()
        .replace(/[^a-z0-9]+/g, "-")  // spaces, punctuation → hyphens
        .replace(/^-+|-+$/g, "");     // trim leading/trailing hyphens
    }

    // Build normalized lookup once
    const normalizedLookup = Object.entries(productLookup).reduce((map, [key, val]) => {
        map[slugify(key)] = val;
        return map;
    }, {});

    // Given the identifier from orderData, normalize it and match to our productLookup
    function getProductFromIdentifier(identifier) {
        if (!identifier) {
            console.warn("No identifier in order data.");
            return null;
        }
        // Normalize
        const slug = slugify(identifier);
        const product = normalizedLookup[slug];
        if (!product) {
            console.warn(`No product found for slug: ${slug}`);
            return null;
        } else {
            return product;
        }
    }

    // Push the purchase event to the GTM dataLayer using data from the API response
    async function firePurchaseEvent() {
        const orderId = getOrderIdFromURL();
        if (!orderId) {
            console.warn("No orderId found. Purchase event not fired.");
            return;
        }

        // Prevent duplicate firing via sessionStorage
        const purchaseKey = `purchase_${orderId}`;
        if (sessionStorage.getItem(purchaseKey)) {
            console.warn("Purchase event already fired for this session, ignoring duplicate.");
            return;
        }

        const orderData = await fetchOrderDetails(orderId);
        if (!orderData) {
            console.warn("No valid order data returned. Purchase event not fired.");
            return;
        }

        // Terminate if the payload does not contain an identifier
        if (!orderData.identifier) {
            console.warn("Order data missing identifier. Purchase event not fired.");
            return;
        }

        // Use the identifier to get product data from our lookup.
        const product = getProductFromIdentifier(orderData.identifier);
        if (!product) {
            console.warn("Could not match product data from identifier. Purchase event not fired.");
            return;
        }

        // Build the user data from the API response
        const userData = {
            user_name: `${orderData.firstName} ${orderData.lastName}`.trim(),
            user_email: orderData.emailAddress,
            company_name: orderData.company,
            address: {
                street: orderData.addressLine1,
                street2: orderData.addressLine2,
                city: orderData.city,
                state: orderData.state,
                zip: orderData.zipCode,
                country: orderData.country
            },
            phone_number: orderData.phoneNumber
        };

        // Use the value from our productLookup for the conversion value.
        // For variable price products, we assume the lookup value is used.
        const conversionValue = product.price;

        // Push the purchase event to the GTM dataLayer
        window.dataLayer = window.dataLayer || [];
        window.dataLayer.push({
            event: "purchase",
            ecommerce: {
                transaction_id: orderId,
                currency: "USD",
                value: conversionValue, // using product lookup price
                tax: orderData.tax || 0,
                shipping: orderData.shipping || 0,
                total_paid: conversionValue || 0,
                total_due: orderData.total_due || 0,
                items: [product]
            },
            user_data: userData
        });

        sessionStorage.setItem(purchaseKey, "true");
    }

    // If the current URL contains "thankyou", fire the purchase event
    if (window.location.href.includes("thankyou")) {
        firePurchaseEvent();
    }
  })();
</script>

<script src="runtime.ea8cd2b9e48164ca8d70.js" defer></script><script src="polyfills-es5.fa71e620b34ac5794877.js" nomodule defer></script><script src="polyfills.e77036a5ce4b450cf02a.js" defer></script><script src="scripts.e39b458c4e8df6460f34.js" defer></script><script src="main.758491dc164620bbe326.js" defer></script></body>
</html>                               

Whois info of domain

Domain Name: M0A.COM
Registry Domain ID: 112557729_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.godaddy.com
Registrar URL: http://www.godaddy.com
Updated Date: 2025-03-20T18:21:36Z
Creation Date: 2004-02-25T00:51:15Z
Registry Expiry Date: 2030-02-25T00:51:15Z
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: NS23.DOMAINCONTROL.COM
Name Server: NS24.DOMAINCONTROL.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2025-04-29T21:10:38Z <<<
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