Free tools

HTTP 301 Moved Permanently

The resource has a new permanent URL. Free reference, no signup.

301 Moved Permanently

MeaningThe resource has a new permanent URL.
WhenThe site moved a page or the server is forcing a canonical host or HTTPS.
CausesRedirect rules, a trailing slash, or http to https.
FixUpdate the client to the URL in Location if the redirect is unexpected.
RetryFollow the redirect. Do not alert on a single hop.
Alert?No. A permanent redirect is navigation, not downtime.

Runs in your browser. Nothing you enter is stored.

Most 301s are not an incident

A permanent redirect is navigation, not downtime.

curl -sS -X POST https://api.trigv.com/v1/events \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $TRIGV_API_KEY" \
  -d '{"channel":"ops","title":"HTTP 301","level":"warning"}'

How to use it

  1. Read what 301 means before changing a retry loop.
  2. Check the common causes against the response body and the server log.
  3. Follow the retry note. Retrying a 400 with the same body will fail again.
  4. Alert only in the cases the verdict describes.

About this tool

HTTP 301 Moved Permanently means The resource has a new permanent URL. Servers send it when The site moved a page or the server is forcing a canonical host or HTTPS.

Common causes: Redirect rules, a trailing slash, or http to https. The practical fix is: Update the client to the URL in Location if the redirect is unexpected.

Retry: Follow the redirect. Do not alert on a single hop.

Alert on it? No. A permanent redirect is navigation, not downtime.

Trigv is a push for the moment a status starts mattering, not a log of every response. If the code is one you should hear about, the snippet posts a single event with level error or warning. The status page itself does not call your API.

Questions

What is HTTP 301?

The resource has a new permanent URL.

Should the client retry?

Follow the redirect. Do not alert on a single hop.

Should I alert on it?

No. A permanent redirect is navigation, not downtime.

How is this different from reading the spec?

The page adds a plain retry note and an alert verdict for people running the service, not only for people parsing the response.