A SysAdmin’s guide to the web galaxy

Posted on 07/03/2018 by Team Hallam

There are plenty of technical terms that you can encounter on the web, and it's crucial to be familiar with most of them if you are an internet user. This post will give you some insight on a lot of the basic terminology, provide some guidance on handling common errors and occurrences on websites, and hopefully make the internet more understandable.

The internet can be a scary place, with lots of information and terminology that can often feel overbearing and alien. However, there are a few things that anyone using the internet as part of their work should be comfortable with. We’ve compiled a non-exhaustive list of common terms and concepts below.

What is DNS?

DNS stands for Domain Name System and in simple terms, it’s what tells your browser where to look for a remote resource. It is commonly managed through a domain name provider such as 123-Reg, GoDaddy, etc, or a third party service like CloudFlare, Sucuri and Office 365. It is vital to understand who controls your DNS records, as these affect a lot of important aspects of your website, from allowing you to access your website via www. to email authentication.

As DNS is distributed globally, changes to your DNS take a certain amount of time to change. This is commonly referred to as Time To Live (TTL). Most providers have their records updated every four hours. In practical terms, this means that when you are moving to a new website, it will take up to 48 hours until everyone on the internet can see it normally.

Here’s an article that goes into more detail regarding DNS records: What is DNS.

What is caching?

Caching is a computing concept that refers to data stored for future use. This is done mostly for two reasons, speed and saving resources. For example, without caching, the server would have to create a new version of this page every time you refreshed your browser. This is a major waste of resources as there won’t be any real-time updates once it’s been posted. In addition, it would be relatively slow as the server would have to process a lot of things before generating the page itself. With caching enabled, the first time anyone accesses this blog post, the server generates it and saves it, so any subsequent visitors will be served that version.

Servers are not the only things caching information: most browsers cache information as well. Once you access a page once, the server will save and remember some of the information on the page, so when you re-visit the same webpage, unless the cache has been invalidated, the browser can serve you assets from your local machine rather than relying on the network. Usually, if something is not being updated instantly, it’s because of some caching mechanism.

Caching explained with a series of slides: Caching Explained.
How to clear your cache: Clear your Web Browser’s Cache.

What is an SSL/is my site secure?

SSL certificates are files that confirm the identity of a website and encrypt communications between the server and the client. Not all websites require an SSL certificate, especially in the past. However, with recent changes and growing security concerns, it is highly recommended to have one. Google Chrome has already started flagging websites as insecure when they are not using an SSL certificate.

The truth is, if you simply have a mostly static website, with a blog or newsfeed without comments and a phone number and address, you don’t really need one. Since the client wouldn’t be providing any data to the website, you don’t have to encrypt anything. However, there is no reason for a website not to have an SSL certificate. There are organisations who supply free SSL certificates like Let’s Encrypt. Keep in mind however, that not all SSL certificates are fit for the same purpose, as their encryption standards differ. So for an application like an e-shop you should use an SSL certificate with a stronger encryption, preferably with an insurance tied to it.

A more detailed explanation on SSL: What is an SSL Certificate.

HTTP status codes

Like many other protocols, HTTP has a set of status codes embedded to report on different statuses. In fact, every time you access a resource over http(s), a code of 200 is returned. There are many codes you might experience during your daily browsing, so it’s useful to understand what they actually mean.

  • 404 Resource Not Found. When you are requesting a resource that doesn’t exist
  • 403 Forbidden. You are not authenticated to access that specific resource
  • 502 Bad Gateway. The server received an invalid response
  • 503 Unavailable. This is generally returned during server maintenance or downtime
  • 500 Internal Server Error. Something is wrong with the configuration of the server
  • 301/302 Moved Permanently/Temporarily

You can read more about HTTP status codes here: Wikipedia HTTP Status Code.

What is an .htaccess file?

A common file name you might have heard is htaccess. This is a file that allows you to configure Apache servers and it’s the most common place to contain the redirects required for a website to run. Similar to htaccess files, there is also the web.config and nginx.config for Windows and Nginx servers respectively. Whilst some CMS systems expose these files by default or via a plugin, it’s very important to be mindful when making any changes, as this can take the server offline if it’s not handled properly.

What is .htaccess: www.htaccess-guide.com.
Understanding Nginx Configuration: DigitalOcean
How to Create Web.config Files: MSDN.

What is a web server?

The term “web server” can refer to a broad range of components that include both hardware and software components. On a hardware level, a web server is a machine that stores the software, the web application’s files, and its set-up, so it accepts external connection with the purpose of distributing its resources. It can be a specialised server machine, or a simple laptop. The software that can be used to run a web server varies based on the use, but one of the most common types of web servers is Apache.

Not all web servers are able to run all types of websites, however. For example, if you have a website running on DNN which is built with ASP.net, it wouldn’t run on an Apache server.

What is a Web Server? developer.mozilla.org.

Encountering errors on a website

As a website or web application is essentially a living product, ever-changing during the course of its lifetime, eventually some errors will be encountered. The most important thing is to not panic, and try and recognise the error. As there are regulations against it, system administrators and developers cannot track a user’s journey in its entirety. Recognising the error, attempting to triage it and writing an informative error report will allow your developers to assist you.

In some cases, the error you have encountered is system specific and it would not be possible to replicate it on another system. However, there are a lot of common errors you might encounter on the web. Here’s a brief list of errors along with possible causes and solutions:

  • Not seeing changes: If you are expecting to see any changes that are not immediately reflected, for example, you have added a new blog post to your website and it is not appearing on the news feed on your homepage, or adding content to a page but it’s not appearing in the preview, then chances are this is due to some caching mechanism. Depending on the caching system used with your website, there is a chance the cache has to be cleared manually either on server or browser level.
  • Broken page styles: When you are visiting a page and some of the styles are broken, for instance, everything appears to be left aligned and the font is not being loaded, there are quite a few reasons why this could be happening. This can be caused by caching, especially if your website’s code was updated recently. Some of the other common causes could be that the resources were not found on the server (a 404 status code as mentioned previously), or your network or browser experienced an error while loading the resources and the transfer was cancelled. The latter can be caused by poor network conditions, for example accessing a website from a mobile device with a weak signal.Whenever you encounter this kind of issue, make sure you try accessing the website from a different browser.
  • Landing on a different page than expected: In this case, there might be a redirect into place that forces all requests to a specific web page to be redirected to another one. This can happen due to a site-specific configuration, an intentional redirect or malicious code. WordPress for example, uses redirects to allow users to use different URLs to the default ones. By default, all WordPress posts and pages are accessed via www.example.com/?p=123. However, this can changed, so instead of p=123, it’s using the actual post name. This is in part due to redirects. A malicious redirect would be on a hacked site and its whole purpose would be to redirect all traffic to the hacker’s website and is usually done via in-page scripting rather than server configuration. As a side note, this can also be caused by caching, since browsers tend to cache redirects. This is really apparent when you first replace an existing website, as a lot of the time your browser will try to redirect you to the previous version.
  • Too many redirects: This can also be attributed to caching. However, most of the time it’s caused by an endless loop of redirects. For example, trying to redirect the homepage of the website to itself.
  • Your connection is not secure/private: This appears when you are trying to access a website over https:// and there isn’t an SSL certificate in place, or the wrong SSL certificate is installed. There is also a more uncommon cause, using an outdated browser to access a secure website. However, for this to be the case you would have to be using Internet Explorer 8 or another browser from the mid-2000s.
  • Blank white page: This is the worst type of error and something that most web developers experience regularly during development. If this is the case, something has gone horribly wrong with the server and it’s terminated the connection in some way. This can be caused by faulty application code, or incorrect configuration in the htaccess file. This isn’t something you’d normally see on a live website, and it’s something that your developer would have to address generally.

As mentioned above, communicating the errors to your IT company is one of the most crucial parts of resolving them. The more information you can include when reporting an issue, the quicker the resolution would be, as you will generally be reducing the time the developer would have to spend to try and replicate the issue; or refer to the server logs around the time you encountered the issue.

There’s no golden rule, but here’s an example list of things you should provide in a bug report:

  • When did you first experience this issue?
  • A screenshot of the issue
  • The URL of the page in question
  • Your browser version
  • Operating system
  • Network type (WiFi / 4G)
  • Your IP address

There are also tools that can help you provide all this information such as this website: https://www.whatsmybrowser.org/ which also provides you with a shareable URL of your browser’s information.

Why images matter

Most people appreciate nice imagery on a website and would like to see 4k images of the utmost quality. However, this is a very bad idea when it comes to websites, at least on non-gallery pages as it causes a number of issues. Most importantly, this will reduce your website’s load speed by a lot, even if you include a single large image on a page. For instance, if you add an image of 2MB on a page, you can expect a two-second delay until the image is loaded.

In addition, website layouts are built with specific image aspect ratios for the most part. So, if you are trying to use a landscape image in an area that expects a square, it would be cropped. Minimum and maximum dimensions are also something to consider since it might affect some layouts if you use an unsuitable image.

Why contact form e-mails go to the spam folder

There are many reasons why an email from your website would reach your spam folder (or not make it into your inbox at all). Most of these cases are stemming from an email being caught by a spam filter. A lot of the time, the sender of the email will need to be whitelisted in your email client or by your email provider. Another common error is using a different email address to send emails to the one in the domain. For example, if you tried sending the emails from the hallam.co.uk contact forms via a Gmail address, there’s a high chance these will fail to deliver successfully.

To resolve this, commonly one of the steps below must be taken:

  • Amend the contact form so it’s sending emails from an address matching the domain. This doesn’t have to be a “real” address and commonly a no-reply@domain.com is used
  • Add SPF records to your domain to verify the emails sent
  • Use an email address and authenticate it before sending the email
  • Use an external mail delivery service such as MailGun

Why contact forms get a lot of spam submissions

Spam can be generated automatically or manually and it’s not always a sign that your website is compromised. A lot of the time, there are bots scanning for contact forms and then submitting their advertisements by mapping their messages to common fields. This can easily be stopped by introducing a honeypot field that will not submit the contact form if it’s filled.

As this isn’t stopping manual spam or more advanced bots, the alternative is a “human” test that a bot wouldn’t be able to complete. Currently the standard is implementing a reCAPTCHA. however, a number of methods have been used, such as simple math quiz.

Suddenly, the internet doesn’t feel so scary anymore, does it? For web design and development help, get in touch with our experts today.

Enjoy this article?

Subscribe for weekly insights

A SysAdmin’s guide to the web galaxy

Let’s thrive together

Get in touch to take the first step.

Contact us