If you are a user, encountering a 4XX error for the first time can be quite confusing? It is normal to wonder whether you did something wrong, or if there is something wrong with your computer, and how exactly to fix it.
If you are a website owner, encountering a 4XX error will leave you wondering about its impact on your audience and how best to diagnose and fix the underlying problem.
So, what exactly is a 4XX error? A 4XX Error is an error that arises in cases where there is a problem with the user’s request, and not with the server.
Such cases usually arise when a user’s access to a webpage is restricted, the user misspells the URL, or when a webpage is nonexistent or removed from the public’s view.
In short, it is an error that occurs because of a mismatch between what a user is trying to access, and its availability to the user — either because the user does not have the right to access it, or because what the user is trying to access simply does not exist. As a consequence, communication between the webpage and web server becomes impossible.
Therefore, this error code is used to indicate problems that a developer or a user should be able to fix.
All the error codes that fall within the 4XX family are used to indicate errors on the part of the client. They show that the problem that has arisen can be fixed by actions undertaken by the user like changing the request, or providing the appropriate verification.
In general, HTTP 4XX error codes are used to communicate that a problem has occurred on the user’s end. They denote errors that can be easily resolved by simply modifying or completely changing the request that a client is making. The problems that generate these errors have nothing to do with the server.
4XX status codes are designed to inform a client that a problem has arisen on their end. They inform them that there is nothing wrong with the server and that in order to resolve the problem, they will need to make changes in the type, form, or content of the request that they are making. In a way, they also communicate the futility of re-transmitting the same request to the server since the error is on the client’s end.
For clients who are familiar with these errors, they are used to give the client a hint as to what they can do in order to fix the problem. For example, a client who gets a 404 Not Found status code will know that whatever they are looking for does not exist and that they should place another request. It may also indicate that the user needs to check for errors in a URL.
On the other hand, 5XX status codes are used to indicate that there is a problem on the server’s side. It tells them that their request is valid and that they didn’t get a response they expected because there was an error with the server. Therefore a 5XX status code communicates to the user that modifying their request is unnecessary. It also hints at the possibility of resolving the problem by simply retransmitting the request. However, in case retransmission does not work, it lets the client know that there is nothing that they can do on their end to resolve it.
A good example of a scenario in which such a status will be returned to the client is when the client is using an API and there is a problem with the database. If the database is corrupted, unreachable, or for any reason fails to work, the client may not be able to save a record. In such a case, a 5XX status code will be appropriate.
It is important to remember to display the error, and to also state the reasons why the request did not go through. This is a good practice because it helps to avoid unnecessary frustration on the part of the client. By letting the user know exactly what went wrong, it will give them an idea of what to expect in terms of solutions.
Here are common examples of status codes that fall within this family.
A 400 Bad Request Status Code
This is a status code that is generated in cases where the server cannot process the request. It indicates that there is a problem in the sense that the request is either corrupted or incorrect and that the server cannot understand the request.
Using GitHub as an example, if you are supposed to use JSON to make a request, but instead opt for a form URL-encoded request, you will get this error. This is because the server will not be able to either receive or parse the request. Therefore, it will give you a 400 Bad Request status code.
To solve the problem that is causing this error code response, all you need to do is to adjust the request.
401 Status Code — Unauthorized Request
This 4xx status code that is generated when authentication fails. It may be that a user has completely failed to authenticate themselves, or that something went wrong with the authentication process. In such a case, the problem can only be overcome once a user has provided sufficient authentication.
402 Status Code –Payment Required
The 402 status code isn’t yet active. It was designed for use in payment situations where access to a resource required payment. However, it is one of the Http error codes 4xx options that haven’t been put to use.
403 Status Code
This code is generated when a user tries to make a request that they are not supposed to make. Therefore, the server prevents the request from going through because the user does not have permission to execute a given operation. In some cases, it is not a matter of permission, but more of a forbidden operation.
The 404 Status Code
This is a common code that is displayed in cases where what the user is looking for is not available. For example, if you use the GitHub API, making a request for a user that is nonexistent will return this error simply because what is being looked for does not exist in the system. The response that you will get from the GitHub server will be in the form of a 404 Not Found error code.
This error is fixable by simply changing the request. Updating the URL so that it references a user that is actually recognized by the GitHub server will get you the right response from the server.
405 Status Code — Method Not Allowed Code
One can configure a web server in such a way that it restricts the methods through which its resources can be accessed. As a result, trying to access the resource using any of the methods that are not allowed will generate this form of nttp 4xx errors. However, in some cases, this error is triggered when a web server hasn’t been configured for access.
406 — Not Acceptable
This is a response one gets from the server in case whatever resource is being asked for exists, but not in a format that the client is asking for. It may be that exists in a different encoding method or different language from what the client is requesting.
407 – Proxy authentication required
You will get this response in cases where there is a need for you to provide a password and a user ID with the proxy server first before being allowed to access a resource. Its an error code that indicates that although the request from the client is correct, proxy authentication is needed. It is one of several http status codes 4xx that are used in cases where authentication is mandatory.
408 — Request timeout
This is a response that is generated in cases where a client fails to make a request within a given window. It is usually an indication of either connectivity problems or the webserver being overloaded. Making the same request at a later time is sometimes enough to solve the problem.
409 — Conflict
The 409 error code is an indication of the existence of a problem with an existing resource. It occurs when the server encounters a conflict that is specific to an application. Getting this error code simply means that in spite of the validity of the request, the request won’t be successful because of a resource’s state.
410 — Gone
This is a permanent version of the 404 error. It usually indicates not only that the resource is unavailable, but also that it won’t be available in the future.
411 — Length Required
When a client gets this error code, it is an indication of a problem with the content length of the request. Therefore, the server declines to accept the request because it has been configured to not accept requests that do not meet a defined threshold. To get the request accepted, all the client has to do is to modify the request by adding valid content.
412 — Precondition Failed
In some cases, a server is configured to accept requests once only certain conditions are fulfilled. If any of the conditions specified as preconditions are not met, then the server will not allow the client to access the given resource. Instead, the webserver will give this error as a response.
413 — Request Entry Too Large
In some cases, a server has limitations on what it is able or willing to process. If a request exceeds this limitation, the server will respond with this error code. It may also keep the client from proceeding with the request by simply closing the connection. A common example is a scenario involving a file upload. If there is a set limitation with regards to file size, the upload may fail and this error will be encountered.
414 — Request URL Too Long
Like the 413 error code, this too is encountered when the request exceeds what the server is willing or able to process. In this case, it is generated when the Request-URL length exceeds the set limit. The limitation on URL length is usually put in place to curb attacks, or to keep the client from descending into an endless cycle of redirection.
415 — Unsupported Media Type
This error occurs when the web server declines servicing a request because the format of the request is not supported by the resource.
416 — Requested Range Not Satisfiable
A client will get this error if he or she makes a request that includes range-specifier values that are beyond the range that is allowed for the resource. For example, if the Range that the client is requesting is 500-1500, and the image file resource has 1000 bytes, then the server will not be able to satisfy this request. It will give a 416 error code.
417 — Expectation Failed
This error code is normally generated when an Expect request-header field is used. If this expectation cannot be fulfilled, then the server will give this error code as a response.
422 — Unprocessable Entity Status Code
This is a status code that indicates that there is a problem with the contents of the request. For example, if you send the right request without including all the fields required to make the request complete.
Unlike the 400 bad request status code that arises due to using the wrong format, with this error code, you are using the right format. The only problem is that the request is incomplete. And so when using the GitHub example, it will arise if you use JSON to make the request, but fail to include a title field.
You will get a 4XX page error when one or more of the URLs that you are auditing returns an error code that falls within the 4XX HTTP response codes.
In most cases, it occurs because of an unauthorized request, a request timeout, a resource not being found, a forbidden request, or when a client is making too many requests.
This error is an indication of the existence of problems that can interfere with the ability of search engines to crawl your website. These problems will negatively affect the experience of your visitors. And since modern search engines consider user experience as a ranking factor, these problems will affect your rankings in the search results.
Therefore, as soon as you encounter HTTP error codes 4xx, you should immediately remove or replace any links that return a 4XX error since it damages a user’s browsing experience.
There are several ways to fix HTTP 4XX errors. The first and most common method is to simply check the URL to make sure that you haven’t made any spelling mistakes. In most cases, this is enough to fix a “404 — Not Found ” error.
Clearing cookies and cache can also work in cases where expired or invalid cookies are being used. It is an effective method of solving a “400 — Bad Request” error code.
In other cases, refreshing the page, restarting your computer, or simply trying later, will do the trick.
If you are struggling with solving errors that have to do with the URL, searching the website could help you to resolve the problem faster. Simply use the search box to search for what you are looking for. The search results will most likely contain content with the right URL.
Confirming that you are using the right long-in credentials and that you are using the right URL will help you to avoid most 401 error messages. And if you keep getting constant 4XX error codes, try to access the same website using a different browser or computer. If the errors still persist, you should contact the website.
CDN (Content Delivery Networks) is now used all over the Internet. These are the internet servers that deliver all types of things to mobile devices and browsers faster with more reliability rather than using your own server.
CDN is a component of the internet ecosystem. Several content owners, such as e-commerce providers and media companies, pay CDN service providers to deliver their content to the customers. CDN pays the network operators and carriers for hosting the servers in their respective data centers.
CDN offers several types of content delivery services, load balancing, transparent caching, software downloads, video streaming, cloud intelligence, and Multi CDN switching.
CDN can help you with simple page and asset loading performance that offers a responsive and better experience for your customers. There are two things essential for necessary performance; the size of the response and the number of requests.
There are three ways to how CDN improves content delivery:
If you are fond of SVGs, then you might also like the beauty of Font Awesome. It is also considered more secure because it is a type of font, not a graphic, and the CSS can be easily controlled. You can easily change the positioning, size, and color without even touching a PNG, SVG, or EPS file.
Here are the steps on how to use a Font Awesome on a website:
Step 1: Visit the Font Awesome website. Add your email address, then the website’s embed code will be sent to you.
Step 2: Copy the code from your email and insert it in the head code. To perform this, you use the following ways:
Step 3: Visit the Font Awesome website and look for icons. Also, you press Ctrl + F to find the icon of your choice.
Step 4: Edit the HTML code of your web page to insert the selected icon. You will need a plugin to insert PHP code in your web page.
Step 5: After editing and inserting the code, you will be able to see your changes.
What do you mean by Auto Accessibility?
Symbols and icons that carry plenty of information, and help the people to go through interfaces, signs, and directions. It is essential that we use and create them to reach out to a huge amount of people possible. It means icons play well with the new technology, helping people navigate and use sites and apps.
There are in-built ways to help the technology, which supports impairments such as screen readers. It understands the Font Awesome icons better that you are using. It can help you with the following cases:
Using Icons and Decorative Elements
If you are using any type of icon to add branding or some additional decoration, there is no need to announce the users while they are navigating the app or website. If you are utilizing the icon to add or visually re-emphasize styling to your HTML content, there is no need to repeat it to assistive technology.
Using Icons for Interactive and Semantic Purposes
If you are adding an icon to convey something, make sure that the message is conveyed to the users who might be interacting with your interface using several tools or methods by offering text-based alternatives. This thing goes for the content you are using via icons (for example, number of unread messages, shopping cart status, etc.) and also for the interactive controls like toggles, form elements, buttons, etc.
If you have enabled it as a feature in the embed code, then Font Awesome CDN will discover the scenarios mentioned above in your interface to provide proper and modern syntax assistive technologies.
Why is Font Awesome CDN not working?
Font Awesome is a part of modern web design. It offers a simple way to insert professionally designed icons to decorate your web pages. It is totally free, easy to access, and entirely handled by the team of experts.
The setup is easy, you just have to add a reference to the CSS file, and your work is done. But, it also has some drawbacks that create messy situations.
If you are facing any issue with the Font Awesome, you must try these solutions to get rid of it.
Check your Ad blockers
An Adblocker can mostly stop your icons from loading. You can click the refresh icon several times or could use a keyboard shortcut Control + F5 to clear the cache on the Chrome browser.
Check your source link
Sometimes, your link needs an “href” instead of “src.” So, replace the “src” with “href” in your CDN link.
Use HTTPS
If your URL is using HTTPS, then use HTTPS on your CDN link. And if it is plain HTTP, then try using HTTP on your CDN link.
You Might have accidentally linked it twice
Always check your source code or other elements in your tools. If the same file is included more than once, then it can cause serious problems. One problem is when linking to both the “.min.css” file and the “.css” file. Always link one file at a time, in both the production and local environments.
Another issue can occur when you include the CDN link twice. So check how your stack/framework is rendering the links. Always make sure that the link is included once in your views.
Icons Not Showing Up as Boxes
Sometimes, your icons can load fully, but they are unable to show up correctly. It can be because of a few reasons:
Include the “fa” class
Add the “fa” class before the icon class while coding.
You might be overriding the Font Awesome font family
Font Awesome utilizes its font face for the icons. Most of the time, it makes sense to adjust your website font like “open Sans” as a part of the global property. When you use something different in the CSS selector, the issue arises, which can override the other present elements.
So, set the elements carefully, which you want to use for your font like list items, headers, and so on.
Why you face trouble with the new Font Awesome
Font Awesome introduced its latest version, Font Awesome 5. It offers an entirely new way to render the icons by using “SVG” rather than the previous unicode characters. They are inserted in the same way but are rendered differently. It is essential, as this is not backward compatible.
Common issues with this latest version can leave you with a flashing question mark icon. It signifies the crash between the different versions. To fix these issues, use the following ways:
Adjust the Class Name
The latest version of Font Awesome uses the other kind of class name for the icons. In the older version, you might have used “fa fa-pencil.” In the latest version, you will use “fas fa-pencil-alt.” Both of them are similar, but you can easily get confused while inserting them.
Never use the old link and the new link simultaneously
If you are using the “SVG” icons, you will require a new CDN link to the CSS/JavaScript file. It is mandatory to include this to make things work. You just have to ensure that only the latest link should be there, and there are no old CDN links on your page.
It is simple to locate the CDN link and see the version number. For the latest version, it will appear “5.x.x.”
Mix/Match the previous and new icons
You might want to keep your past icons, but adding the new SVG icons over them can cause problems. Because the specific rules of the versions can clash against each other. So, it is your choice to either use the previous version or the latest one.
Using font-weight with the new icons
For some specific reason, you might need to use “font-weight” over the new icons. You can try this if nothing else is working. Remember that this will work only with the earlier version of Font Awesome 5, so you must try updating the CDN link.
Is Font Awesome Free?
Font Awesome is completely free, GPL friendly, and open source. You can utilize it for open source projects, commercial projects, and wherever you want them.
Conclusion
These are the essential things that you must know about the CDN and the Font Awesome. So, use them correctly to avoid any issue. Read the article carefully and learn how to use them in the right way.
Related Resources
Website virus scanner
DNS server or Domain Name System is a directory of public IP (internet protocol) addresses and their affiliated host names. Often, DNS servers translate or resolve host names to IP addresses when requested. DNS servers operate exclusive software and connect using restricted protocols.
DNS operates by transforming a hostname into an IP address to make it more computer-friendly. Here is a DNS example. You type a domain name on your browser to access a specific website instead of an IP address.
An example of a domain name can be www.google.com. The domain name is changed to an IP address that is assigned to a gadget on the internet. This change is a DNS example query, an essential part of devices linking together to communicate through the internet. Let us discuss the types of DNS servers to understand DNS server meaning better.
All DNS explained servers are classified into one of the following groups.
These DNS servers collaborate to convey a specific domain’s IP address to a client. Often, a client is a stub resolver (a straightforward resolver developed to form an operating system)
Understanding a DNS Recursive Resolver
A recursive resolver is also known as a DNS recursor, and it forms the beginning of a DNS query. It acts as a mediator between a DNS nameserver and a client.
Once the web client sends a DNS query, the recursive resolver can either discharge a request to the root name server, or answer with cached data. It then sends another request to the TLD name server before generating the final requisition to an authoritative DNS explained name server.
After obtaining the required IP address from an authoritative name server, the recursive resolver transmits a response to the client. Amid this procedure, the recursive resolver caches data received from an authoritative name server.
If a client demands a domain IP address that another client had recently requested, the resolver will not have to communicate with the name servers. Instead, it will deliver the requested data from its cache. While there are many recursive resolver options available, many internet users opt for what their internet service provider supplies.
DNS Root Nameserver
Root nameservers are DNS servers that work in the root zone. They provide direct answers for records within the root zone and respond to various requests by listing authoritative name servers for the ideal TLD (top-level domain). Root nameservers are a crucial part of the internet infrastructure since they translate hostnames into IP addresses that ease the connection between internet hosts.
TLD (Top-level Domain) Nameserver
A TLD nameserver controls data for domain names that share a domain extension such as .net and .com. A .com TLD nameserver, for instance, has data for each .com website.
When an internet user searches for google.com, for example, the root nameserver will respond. After that, the recursive resolver will discharge a query to a .com TLD nameserver that will then answer by directing to an authoritative nameserver. The Internet Assigned Numbers Authority (IANA) regulates TLD nameservers. The organization divides the TLD servers into two categories, as seen below.
These include state or country-specific domains such as .uk, .ru, and .us.
These include non-country specific domains such as .com, .net, .org, .gov, and .edu.
It is worth mentioning that there is a third group of infrastructure domains that is not used often . It was developed for the .arpa domain, an interim domain used in the development of present-day DNS.
Authoritative Nameserver
When a TLD nameserver responds to the recursive resolver, the response guides it (the resolver) to an authoritative nameserver. Often, an authoritative nameserver is a final step in the course of an IP address .
An authoritative nameserver comprises data clear-cut to the domain name it presents. It can offer a recursive resolver with the specific server IP address available in the DNS A(address) record. Assuming the domain bears a CNAME record or alias, it will give the recursive resolver an alias domain.
The recursive resolver will then execute a full new DNS lookup to obtain records from the authoritative nameserver. Usually, this record is an A record comprising an IP address.
DNS server meaning reflection attacks can overwhelm internet users with numerous alerts from DNS resolver servers. Attackers demand DNS records from any open DNS resolvers. They do this with the internet user’s parody IP address. Once the resolvers respond, the user receives unrequested DNS data that overpowers their machines.
If your browser cannot institute an internet connection, the Windows troubleshooting option often generates an error alert. This alert can either be “Your computer appears to be configured correctly, but the device or resource (DNS server) is not responding”, or “DNS server not responding”.
The core of such alerts can be tracked down to server outage, meaning that the DNS server is unavailable for a limited time. Often, internet users can troubleshoot these problems by restarting the router, changing or deactivating firewall settings, changing your browser, or choosing a different DNS server.
While the internet provider’s DNS server address is usually used automatically, the server can be easily overloaded and slow. Switching an internet provider DNS server with your preferred server is a simple task. You can even opt to use a public DNS server. All you need is to look up a specific DNS server directory.
Often, DNS is associated with getting a domain name translated into a suitable IP address. To understand how this process operates, you would need to pursue a DNS lookup as it moves from a browser and navigates the DNS lookup process before getting back.
Remember, many times, DNS lookup data is cached either remotely within the DNS infrastructure or locally within the querying computer. A DNS lookup comprises various steps. Once DNS data is cached, steps from the DNS lookup process are missed, and this accelerates the process. Read on to understand the steps in a DNS lookup.
Requesting Website Data
An internet user gains access to a website by typing its domain name on its browser . The query navigates through the internet, where the DNS recursive resolver secures it. Your computer searches the IP address linked with your desired domain name from its local DNS cache.
The DNS cache stores DNS data that your computer has saved recently. If it is locally present, your preferred website is displayed. If there is no stored data in your computer, it will execute a DNS query to restore the correct data.
Contact Recursive DNS Servers
If the data is in the local DNS cache in your computer, it will query recursive DNS servers from your internet service provider. Recursive DNS servers come with local DNS cache. Seeing that many of the internet service provider consumers use the same recursive DNS servers, chances are that common domain is cached, the DNS query ends in this step, and the user can view the website.
Query Authoritative DNS Servers
What happens if recursive DNS servers do not have the data stored in their cache memory? The DNS query proceeds to the authoritative DNS server bearing information for a specific domain. Authoritative nameservers help with DNS record storage for their particular domain names.
Obtain the DNS Record
To establish the IP address for www.google.com, internet users query the authoritative nameserver for the A record address record. A recursive DNS server obtains the address record for www.google.com from the authoritative nameserver. It then keeps the information in its local DNS cache.
If ensuing DNS queries demand the address record for www.goole.com, the recursive server will have the answer ready. This idea will help eliminate the need to repeat the DNS lookup process. All DNS records come with a time-to-live limit that indicates when a DNS record is due for expiry. Once the time lapses, the recursive DNS server requests an amended copy of the DNS data.
Last DNS Step
The recursive DNS server holds the data and restores the A record to a user’s computer. Your computer will keep the DNS data in its local DNS cache, scan the DNS record for the IP address, and transfer the information to your browser. The browser will link the web server linked with the A records IP and the demonstration website.
A DNS resolver marks the beginning of a DNS lookup process. It helps handle the client that presented the first request. The resolver begins the series of queries that end in a URL getting translated into the ideal IP address. Remember, a regular uncached DNS lookup involves both iterative and recursive queries.
Knowing the difference between a recursive DNS resolver and a recursive DNS query is critical. The query defines the request presented to a DNS resolver, and demands an answer. A DNS recursive resolver is the computer that obtains a recursive query and prepares the response by applying the essential requests.
DNS problems can interrupt your browsing experience. However, you can use the steps discussed here to solve them with ease. You can also contact a professional to help you solve persistent DNS problems.
Related Resources