DNS - How DNS Works and Most Common DNS Records

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

1.

DNS - how DNS works and most common DNS Records

What is DNS?

The Domain Name System (DNS) is the phonebook of the Internet. Humans access information
online through domain names, like nytimes.com or espn.com. Web browsers interact through
Internet Protocol (IP) addresses. DNS translates domain names to IP addresses so browsers can
load Internet resources.

Each device connected to the Internet has a unique IP address which other machines use to find
the device. DNS servers eliminate the need for humans to memorize IP addresses such as
192.168.1.1 (in IPv4), or more complex newer alphanumeric IP addresses such as
2400:cb00:2048:1::c629:d7a2 (in IPv6).

How does DNS work?

The process of DNS resolution involves converting a hostname (such as www.example.com) into
a computer-friendly IP address (such as 192.168.1.1). An IP address is given to each device on
the Internet, and that address is necessary to find the appropriate Internet device - like a street
address is used to find a particular home. When a user wants to load a webpage, a translation
must occur between what a user types into their web browser (example.com) and the machine-
friendly address necessary to locate the example.com webpage.

In order to understand the process behind the DNS resolution, it‘s important to learn about the
different hardware components a DNS query must pass between. For the web browser, the DNS
lookup occurs "behind the scenes" and requires no interaction from the user‘s computer apart
from the initial request.

What is a DNS record?

DNS records (aka zone files) are instructions that live in authoritative DNS servers and provide
information about a domain including what IP address is associated with that domain and how to
handle requests for that domain. These records consist of a series of text files written in what is
known as DNS syntax. DNS syntax is just a string of characters used as commands that tell the
DNS server what to do. All DNS records also have a ‗TTL‘, which stands for time-to-live, and
indicates how often a DNS server will refresh that record.

You can think of a set of DNS records like a business listing on Yelp. That listing will give you a
bunch of useful information about a business such as their location, hours, services offered, etc.
All domains are required to have at least a few essential DNS records for a user to be able to
access their website using a domain name, and there are several optional records that serve
additional purposes.
What are the most common types of DNS record?

 A record - The record that holds the IP address of a domain. Learn more about the A record.
 AAAA record - The record that contains the IPv6 address for a domain (as opposed to A records,
which list the IPv4 address). Learn more about the AAAA record.
 CNAME record - Forwards one domain or subdomain to another domain, does NOT provide an
IP address. Learn more about the CNAME record.
 MX record - Directs mail to an email server. Learn more about the MX record.
 TXT record - Lets an admin store text notes in the record. These records are often used for email
security. Learn more about the TXT record.
 NS record - Stores the name server for a DNS entry. Learn more about the NS record.
 SOA record - Stores admin information about a domain. Learn more about the SOA record.
 SRV record - Specifies a port for specific services. Learn more about the SRV record.
 PTR record - Provides a domain name in reverse-lookups. Learn more about the PTR record.

What is a DNS A record?

The "A" stands for "address" and this is the most fundamental type of DNS record: it indicates
the IP address of a given domain. For example, if you pull the DNS records of cloudflare.com,
the A record currently returns an IP address of: 104.17.210.9.

A records only hold IPv4 addresses. If a website has an IPv6 address, it will instead use an
"AAAA" record.

Here is an example of an A record:

example.com record type: value: TTL

@ A 192.0.2.1 14400

The "@" symbol in this example indicates that this is a record for the root domain, and the
"14400" value is the TTL (time to live), listed in seconds. The default TTL for A records is
14,400 seconds. This means that if an A record gets updated, it takes 240 minutes (14,400
seconds) to take effect.

The vast majority of websites only have one A record, but it is possible to have several. Some
higher profile websites will have several different A records as part of a technique called round
robin load balancing, which can distribute request traffic to one of several IP addresses, each
hosting identical content.

When are DNS A records used?

The most common usage of A records is IP address lookups: matching a domain name (like
"cloudflare.com") to an IPv4 address. This enables a user's device to connect with and load a
website, without the user memorizing and typing in the actual IP address. The user's web
browser automatically carries this out by sending a query to a DNS resolver.

DNS A records are also used for operating a Domain Name System-based Blackhole List
(DNSBL). DNSBLs can help mail servers identify and block email messages from known
spammer domains.

If you want to learn more about DNS A records, you can see the original 1987 RFC where A
records and several other DNS record types are defined here. To learn more about how the
Domain Name System works, see What is DNS?

What is a DNS AAAA record?

DNS AAAA records match a domain name to an IPv6 address. DNS AAAA records are exactly
like DNS A records, except that they store a domain's IPv6 address instead of its IPv4 address.

IPv6 is the latest version of the Internet Protocol (IP). One of the important differences between
IPv6 and IPv4 is that IPv6 addresses are longer than IPv4 addresses. The Internet is running out
of IPv4 addresses, just as there are only so many possible phone numbers for a given area code.
But IPv6 addresses offer exponentially more permutations and thus far more possible IP
addresses.

As an example of the difference between IPv4 and IPv6 addresses, Cloudflare offers a public
DNS resolver that anyone can use by setting their device's DNS to 1.1.1.1 and 1.0.0.1. These are
the IPv4 addresses. The IPv6 addresses for this service are 2606:4700:4700::1111 and
2606:4700:4700::1001.

When are AAAA records used?

Like A records, AAAA records enable client devices to learn the IP address for a domain name.
The client device can then connect with and load the website.

AAAA records are only used when a domain has an IPv6 address in addition to an IPv4 address,
and when the client device in question is configured to use IPv6. While all domains have one or
more IPv4 addresses and accompanying A records, not all domains have IPv6 addresses, and not
all user devices are configured to use IPv6.

However, IPv6 is growing in adoption. This will likely continue to be the case because the
number of available IPv4 addresses is rapidly diminishing, often forcing multiple devices to
share an IPv4 address. To combat this, Cloudflare began turning on IPv6 for all customers in
2016.

It is probable that in the future, all domains will have AAAA records.
What is a DNS CNAME record?

The ‗canonical name‘ (CNAME) record is used in lieu of an A record, when a domain or
subdomain is an alias of another domain. All CNAME records must point to a domain, never to
an IP address. Imagine a scavenger hunt where each clue points to another clue, and the final
clue points to the treasure. A domain with a CNAME record is like a clue that can point you to
another clue (another domain with a CNAME record) or to the treasure (a domain with an A
record).

For example, suppose blog.example.com has a CNAME record with a value of ‗example.com‘
(without the ‗blog‘). This means when a DNS server hits the DNS records for blog.example.com,
it actually triggers another DNS lookup to example.com, returning example.com‘s IP address via
its A record. In this case we would say that example.com is the canonical name (or true name) of
blog.example.com.

Oftentimes, when sites have subdomains such as blog.example.com or shop.example.com, those


subdomains will have CNAME records that point to a root domain (example.com). This way if
the IP address of the host changes, only the DNS A record for the root domain needs to be
updated and all the CNAME records will follow along with whatever changes are made to the
root.

A frequent misconception is that a CNAME record must always resolve to the same website as
the domain it points to, but this is not the case. The CNAME record only points the client to the
same IP address as the root domain. Once the client hits that IP address, the web server will still
handle the URL accordingly. So for instance, blog.example.com might have a CNAME that
points to example.com, directing the client to example.com‘s IP address. But when the client
actually connects to that IP address, the web server will look at the URL, see that it is
blog.example.com, and deliver the blog page rather than the home page.

Example of a CNAME record:

blog.example.com record type: value: TTL

@ CNAME is an alias of example.com 32600

In this example you can see that blog.example.com points to example.com, and assuming it is
based on our example A record we know that it will eventually resolve to the IP address
192.0.2.1.
What is a DNS TXT record?

The DNS ‗text‘ (TXT) record lets a domain administrator enter text into the Domain Name
System (DNS). The TXT record was originally intended as a place for human-readable notes.
However, now it is also possible to put some machine-readable data into TXT records. One
domain can have many TXT records.

Example of a TXT record:

example.com record type: value: TTL

@ TXT This is an awesome domain! Definitely not spammy. 32600

Today, two of the most important uses for DNS TXT records are email spam prevention and
domain ownership verification, although TXT records were not designed for these uses
originally.

What is Web Hosting?

Web hosting is a service that allows organizations and individuals to post a website or web page
onto the Internet. A web host, or web hosting service provider, is a business that provides the
technologies and services needed for the website or webpage to be viewed in the Internet.
Websites are hosted, or stored, on special computers called servers. When Internet users want to
view your website, all they need to do is type your website address or domain into their browser.
Their computer will then connect to your server and your webpages will be delivered to them
through the browser.

Most hosting companies require that you own your domain in order to host with them. If you do
not have a domain, the hosting companies will help you purchase one.

Here are some features you should be expecting from your hosting provider:
Email Accounts As mentioned earlier, most hosting providers require users to have their own
domain name. With a domain name (e.g. www.yourwebsite.com) and email
account features provided by your hosting company, you can create domain
email accounts (e.g. yourname@yourwebsite.com).

FTP Access The use of FTP lets you upload files from your local computer to your web
server. If you build your website using your own HTML files, you can
transfer the files from your computer to the web server through FTP,
allowing your website to be accessed through the internet.
WordPress WordPress is an online website creation tool. It is a powerful blogging and
Support website content management system, which is a convenient way to create
and manage website. WordPress powers over 25% of websites on the
internet. Most hosting providers will tell you right away if their plans are
WordPress-compatible or not. The simple requirements for hosting your
WordPress websites include: PHP version 7 or greater; MySQL version 5.6
or greater.

2. Web Hosting / cPanel / Plesk

What Is cPanel?

cPanel is a Linux-based control panel used to conveniently manage your web hosting. The
system operates similarly to a desktop application. With cPanel, you can perform actions from a
user-friendly dashboard instead of running complex commands.

What Is cPanel Hosting?

cPanel hosting is essentially Linux-based web hosting that includes an installation of cPanel. The
hosting plan provides a cPanel account to control your web hosting elements.

With that in mind, cPanel can be used in different types of hosting, including shared, dedicated,
and managed WordPress hosting.

This control panel is a good choice for beginners looking for a straightforward control panel
solution. However, just like other hosting control panels, cPanel has its benefits and drawbacks.

Plesk is a commercial web hosting and server data center automation software with a control
panel developed for Linux and Windows-based retail hosting service providers. Plesk's user
management model is suitable for dedicated and shared hosting, allowing server administrators
to set up new websites, reseller accounts, email accounts, and edit and create DNS entries
through a web-based interface. Key features and solutions include the automation and
management of domain names, email accounts, web applications, programming languages,
databases, and infrastructure tasks to provide a ready-to-code environment and strong security
across all layers and operating systems.
3. Linux and most popular distributions
What is Linux?

Just like Windows, iOS, and Mac OS, Linux is an operating system. In fact, one of the most
popular platforms on the planet, Android, is powered by the Linux operating system. An
operating system is software that manages all of the hardware resources associated with your
desktop or laptop. To put it simply, the operating system manages the communication between
your software and your hardware. Without the operating system (OS), the software wouldn?t
function.

The Linux operating system comprises several different pieces:

1. Bootloader – The software that manages the boot process of your computer. For most users,
this will simply be a splash screen that pops up and eventually goes away to boot into the
operating system.
2. Kernel – This is the one piece of the whole that is actually called ?Linux?. The kernel is the core
of the system and manages the CPU, memory, and peripheral devices. The kernel is the lowest
level of the OS.
3. Init system – This is a sub-system that bootstraps the user space and is charged with controlling
daemons. One of the most widely used init systems is systemd? which also happens to be one of
the most controversial. It is the init system that manages the boot process, once the initial
booting is handed over from the bootloader (i.e., GRUB or GRand Unified Bootloader).
4. Daemons – These are background services (printing, sound, scheduling, etc.) that either start up
during boot or after you log into the desktop.
5. Graphical server – This is the sub-system that displays the graphics on your monitor. It is
commonly referred to as the X server or just X.
6. Desktop environment – This is the piece that the users actually interact with. There are many
desktop environments to choose from (GNOME, Cinnamon, Mate, Pantheon, Enlightenment,
KDE, Xfce, etc.). Each desktop environment includes built-in applications (such as file managers,
configuration tools, web browsers, and games).
7. Applications – Desktop environments do not offer the full array of apps. Just like Windows and
macOS, Linux offers thousands upon thousands of high-quality software titles that can be easily
found and installed. Most modern Linux distributions (more on this below) include App Store-
like tools that centralize and simplify application installation. For example, Ubuntu Linux has the
Ubuntu Software Center (a rebrand of GNOME Software? Figure 1) which allows you to quickly
search among the thousands of apps and install them from one centralized location.

What is a “distribution?”

Linux has a number of different versions to suit any type of user. From new users to hard-core
users, you‘ll find a ―flavor‖ of Linux to match your needs. These versions are called distributions
(or, in the short form, ―distros‖). Nearly every distribution of Linux can be downloaded for free,
burned onto disk (or USB thumb drive), and installed (on as many machines as you like).
Popular Linux distributions include:

 LINUX MINT
 MANJARO
 DEBIAN
 UBUNTU
 ANTERGOS
 SOLUS
 FEDORA
 ELEMENTARY OS
 OPENSUSE

Each distribution has a different take on the desktop. Some opt for very modern user interfaces
(such as GNOME and Elementary OS‘s Pantheon), whereas others stick with a more traditional
desktop environment (openSUSE uses KDE).

Which distribution is right for you?

Which distribution you use will depend on the answer to three simple questions:

 How skilled of a computer user are you?


 Do you prefer a modern or a standard desktop interface?
 Server or desktop?

If your computer skills are fairly basic, you‘ll want to stick with a newbie-friendly distribution
such as Linux Mint, Ubuntu (Figure 3), Elementary OS or Deepin. If your skill set extends into
the above-average range, you could go with a distribution like Debian or Fedora. If, however,
you‘ve pretty much mastered the craft of computer and system administration, use a distribution
like Gentoo. If you really want a challenge, you can build your very own Linux distribution, with
the help of Linux From Scratch.

If you‘re looking for a server-only distribution, you will also want to decide if you need a
desktop interface, or if you want to do this via command-line only. The Ubuntu Server does not
install a GUI interface. This means two things your server won‘t be bogged down loading
graphics and you‘ll need to have a solid understanding of the Linux command line. However,
you can install a GUI package on top of the Ubuntu Server with a single command like sudo apt-
get install ubuntu-desktop. System administrators will also want to view a distribution with
regards to features. Do you want a server-specific distribution that will offer you, out of the box,
everything you need for your server? If so, CentOS might be the best choice. Or, do you want to
take a desktop distribution and add the pieces as you need them? If so, Debian or Ubuntu Linux
might serve you well.
1. MX Linux

MX Linux tops the list thanks to its high stability, elegant and efficient desktop, and also easy
learning curve. It is a midweight desktop-oriented Linux operating system based on Debian. It
comes with a simple configuration, solid performance, and a medium-sized footprint. It is built
for all types of users and applications.

Additionally, it is essentially user-oriented, to assure that the system works out of the box, it
comes with a certain amount of non-free software. One unique thing about MX Linux is that it
ships with systemd (system and service manager) included by default but disabled because of the
controversies surrounding it, instead, it uses systemd-shim which emulates most if not all
systemd functions that are required to run the helpers without employing the init service.

2. Manjaro

Based on Arch Linux, Manjaro aims to take advantage of the power and the features that make
Arch a great distribution while providing a more pleasant installation and operation experience
out of the box both for new and experienced Linux users.

Manjaro comes with preinstalled desktop environments, graphical applications (including a


software center), and multimedia codecs to play audio and videos.

3. Linux Mint

Linux Mint‘s well-known motto (―From freedom came elegance―), is not just a saying. Based
on Ubuntu, it is a stable, powerful, complete, and easy-to-use Linux distribution – and we could
go on and on with a list of positive adjectives to describe Mint.

Among Mint‘s most distinguishing features we can mention that during installation, you are
allowed to choose from a list of desktop environments, and you can rest assured that once it‘s
installed, you will be able to play your music and video files without any extra configuration
steps since the standard installation provides multimedia codecs out of the box.

4. Ubuntu

Perhaps this distribution does not need any introduction. Canonical, the company behind
Ubuntu, has devoted great efforts to make it a popular and widespread distro to the point that
you can now find it in smartphones, tablets, PCs, servers, and cloud VPS.
Also, Ubuntu has the plus of being based on Debian and is a very popular distribution among
new users – which is maybe the reason for its sustained growth over time. Although not taken
into consideration in this ranking, Ubuntu is the base for other distributions of the Canonical
family such as Kubuntu, Xubuntu, and Lubuntu.

On top of all that, the installation image includes the Try Ubuntu feature, which lets you try
Ubuntu before actually installing it on your hard drive. Not many major distributions provide
such features nowadays.

5. Debian

As a rock-solid Linux distribution, Debian Linux is so committed to free software (so it will
always remain 100% free) but it also allows users to install and use non-free software on their
machines for productivity. It is used both on desktop and server computers, also to run the
infrastructure that runs the clouds.

Being one of the two oldest and famous Linux distributions (the other being RedHat Enterprise
Linux), it is the basis of numerous popular Linux distributions notably Ubuntu and Kali Linux.

At the time of this writing, the Debian repositories for the current stable version (codename
Buster) contain 59,000 packages in total, making it one of the most complete Linux
distributions.

Although its strength is mainly visible in servers, the desktop edition has seen remarkable
improvements in features and appearance.

4. Basic BASH commands

Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free
software replacement for the Bourne shell.[10][11] First released in 1989,[12] it has been used as the
default login shell for most Linux distributions.[13] A version is also available for Windows 10
via the Windows Subsystem for Linux.[14] It is also the default user shell in Solaris 11.[15] Bash
was also the default shell in all versions of Apple macOS prior to the 2019 release of macOS
Catalina, which changed the default shell to zsh, although Bash remains available as an
alternative shell.[16]

Bash is a command processor that typically runs in a text window where the user types
commands that cause actions. Bash can also read and execute commands from a file, called a
shell script. Like most Unix shells, it supports filename globbing (wildcard matching), piping,
here documents, command substitution, variables, and control structures for condition-testing
and iteration. The keywords, syntax, dynamically scoped variables and other basic features of the
language are all copied from sh. Other features, e.g., history, are copied from csh and ksh. Bash
is a POSIX-compliant shell, but with a number of extensions.
The shell's name is an acronym for Bourne Again Shell, a pun on the name of the Bourne shell
that it replaces[17] and the notion of being "born again".[18][19]

Bash (AKA Bourne Again Shell) is a type of interpreter that processes shell commands. A
shell interpreter takes commands in plain text format and calls Operating System services to
do something. For example, ls command lists the files and folders in a directory. Bash is the
improved version of Sh (Bourne Shell). A shell scripting is writing a program for the shell to
execute and a shell script is a file or program that shell will execute.

If you are a programmer, then you might have use commands like mv to move or rename a file,
touch to create a file or nano to edit a file. We use these commands in a terminal which is the
interface to the shell interpreter.

A shell script is a fully-fledged programming language in itself. It can define variables, functions
and we can do conditional execution of shell commands as well. Having a terminal at your
disposal can save precious time and sometimes GUI of your OS might not provide the necessary
tool to perform actions such as executing a binary file with options. And working inside a
terminal makes you look like a geek, if that‘s your thing.

Commands:

Anything encased in [ ] means that it‘s optional. Some commands can be used without options
or specifying files.

ls — List directory contents

ls is probably the most common command. A lot of times, you‘ll be working in a directory and
you‘ll need to know what files are located there. The ls command allows you to quickly view all
files within the specified directory.

 Syntax: ls [option(s)] [file(s)]


 Common options: -a, -l

echo — Prints text to the terminal window

echo prints text to the terminal window and is typically used in shell scripts and batch files to
output status text to the screen or a computer file. Echo is also particularly useful for showing the
values of environmental variables, which tell the shell how to behave as a user works at the
command line or in scripts.

 Syntax: echo [option(s)] [string(s)]


 Common options: -e, -n
touch — Creates a file

touch is going to be the easiest way to create new files, but it can also be used to change
timestamps on files and/or directories. You can create as many files as you want in a single
command without worrying about overwriting files with the same name.

 Syntax: touch [option(s)] file_name(s)


 Common options: -a, -m, -r, -d

mkdir — Create a directory

mkdir is a useful command you can use to create directories. Any number of directories can be
created simultaneously which can greatly speed up the process.

 Syntax: mkdir [option(s)] directory_name(s)


 Common options: -m, -p, -v

grep — search

grep is used to search text for patterns specified by the user. It is one of the most useful and
powerful commands. There are often scenarios where you‘ll be tasked to find a particular string
or pattern within a file, but you don‘t know where to start looking, that is where grep is
extremely useful.

 Syntax: grep [option(s)] pattern [file(s)]


 Common options: -i, -c, -n

man — Print manual or get help for a command

The man command is your manual and is very useful when you need to figure out what a
command does. For example, if you didn‘t know what the command rmdir does, you could use
the man command to find that out.

 Syntax: man [option(s)] keyword(s)


 Common options: -w, -f, -b
pwd — Print working directory

pwd is used to print the current directory you‘re in. As an example, if you have multiple terminals
going and you need to remember the exact directory you‘re working within, then pwd will tell
you.

 Syntax: pwd [option(s)]


 Common options: options aren‘t typically used with pwd

cd — Change directory

cd will change the directory you‘re in so that you can get info, manipulate, read, etc. the different
files and directories in your system.

 Syntax: cd [option(s)] directory


 Common options: options aren‘t typically used with cd

mv — Move or rename directory

mv is used to move or rename directories. Without this command, you would have to individually
rename each file which is tedious. mv allows you to do batch file renaming which can save you
loads of time.

 Syntax: mv [option(s)] argument(s)


 Common options: -i, -b

rmdir — Remove directory

rmdir will remove empty directories. This can help clean up space on your computer and keep
files and folders organized. It‘s important to note that there are two ways to remove directories:
rm and rmdir. The distinction between the two is that rmdir will only delete empty directories,
whereas rm will remove directories and files regardless if they contain data or not.

 Syntax: rmdir [option(s)] directory_names


 Common options: -p
locate — Locate a specific file or directory

This is by far the simplest way to find a file or directory. You can keep your search broad if you
don‘t know what exactly it is you‘re looking for, or you can narrow the scope by using wildcards
or regular expressions.

 Syntax: locate [option(s)] file_name(s)


 Common options: -q, -n, -i

5. Popular CMS products such as WordPress, Joomla, Magento, Drupal

What is a CMS Platform?

A CMS platform (content management system platform) is a piece of software that allows you to
easily manage content and create a website.

Normally, web pages are written in HTML, JavaScript, and CSS programming languages. If you
were to build a website without a CMS platform, then you would need to learn these languages
and write a lot of code.

CMS platforms solve this problem by allowing you to make a website without writing code or
learning programming.

Unless of course, you‘re looking for a developer-friendly CMS which means you already know
how to code.
WordPress.org is our number one choice for the best CMS platform. It‘s the world‘s most
popular CMS software, and it powers around 42% of all websites on the internet.

It‘s important to not confuse WordPress.org with WordPress.com. WordPress.org is a free open
source CMS originally designed for blogging, but now it‘s used by all sorts of websites / online
stores. WordPress.com is a blog hosting platform.

If you‘re not sure about the difference between the two, check out our detailed comparison of
WordPress.org and WordPress.com.

Note: When we talk about WordPress on WPBeginner, we normally mean WordPress.org. We


specify WordPress.com where appropriate.

You need to host your WordPress site yourself, which means finding a suitable WordPress
hosting provider.

Pros

 WordPress offers you the flexibility and freedom to build any kind of website (online
store, auction site, membership site, etc).
 It does not require any technical skills or coding knowledge. The WordPress block editor
makes it really easy to create great looking pages on your site.
 You have complete freedom to make money online from your website in any way you
want.
 There are thousands of WordPress themes and plugins available, both paid and free.
These let you add all sorts of useful extras to your site, like contact forms, photo
galleries, and much more.
 WordPress is really well designed for search engine optimization (SEO). It‘s easy to
create SEO-friendly URLs, categories, and tags for your posts. You can also choose from
plenty of SEO plugins to help you do more.
 There‘s a huge and supportive community around WordPress, as it‘s an open source
CMS. You can join groups like the WPBeginner Engage Facebook group to get help with
any problems you run into.
 WordPress offers a lot of extensibility which is what makes it an ideal CMS platform for
both beginners and developers alike.
 WordPress lets you download all your content in XML format, making it easy to move to
a different system in the future if you choose to do so.

Cons

 You‘ll need to set up your hosting and domain name, and you‘ll be responsible for
managing things like security and backups.
 Because WordPress offers so many options and so much flexibility, it can sometimes feel
a little daunting when you‘re getting started. This is why many beginners use drag & drop
page builder plugins for WordPress.

Joomla is another popular free open source CMS platform that comes with lots of different
templates and extensions. It‘s free to use, but you‘ll need hosting and a domain name.

It was first released in 2005, so like WordPress, it‘s been going for years. Joomla is packed with
features, and many web hosts offer a 1 click installation. However, it‘s really an ideal CMS
platform for developers and experienced website creators, so it‘s not such a good option for
beginners.

Pros

 Joomla gives you lots of flexibility and plenty of options. It‘s a good choice if you‘re
building something complicated or bespoke.
 Although Joomla is particularly useful for developers, you can still use it even if you
don‘t want to ever touch a line of code. It‘s easy to edit your content.
 Like WordPress, Joomla is open source, and there‘s lots of community support available
if you get stuck.
 You can use Joomla to run an e-commerce store as there are extensions available for this.

Cons

 Even Joomla fans will admit it can be pretty complex. Depending on what you want to do
with it, you may well need to hire a developer to help out.
 There aren‘t that many options for additional extensions. If you‘re used to a CMS like
WordPress, which has thousands of available themes and plugins that extend the core
functionality, you might be disappointed by Joomla.
 There can be some compatibility issues if you have a lot of different extensions and
modules installed.

Drupal is another open source CMS platform. It‘s the CMS behind some major websites,
including The Economist‘s site and a number of university‘s sites.

Drupal is a good option for developers, or for people able to hire a developer. It‘s especially
good if you‘re aiming to build a highly customized site that needs to handle a lot of data.

You can host a Drupal site on SiteGround. They offer free installation and can even help you
transfer an existing Drupal site.

Pros:
 It‘s easy to add content on Drupal. The custom content types are flexible and offer plenty
of options.
 There are lots of different modules available that you can add to your site (these work
like WordPress plugins).
 Support is available via community support options similar to other popular platforms
like Joomla and WordPress
 User management is easy, with a built-in system where you can create new roles and
specify their permissions.

Cons:

 With Drupal, it can be tricky to figure out how to change the appearance of your site or
add extras. It‘s definitely not as beginner-friendly as WordPress.
 Most Drupal websites have a heavily customized theme created by a developer, which
can be very expensive.

Magento is a powerful open source eCommerce platform from the huge software company
Adobe. There‘s a free version you can download and install on your own web hosting account,
called Magento Open Source.

Pros

 Magento is highly customizable, with lots of third-party extensions available that you can
use to add extra features.
 With Magento, you can handle lots of products and customers. It lets your business grow
easily, without your site slowing down. (You‘ll likely need to upgrade your hosting plan,
though.)
 There are some really big name brands using Magento, including Nike, Ford, and Coca
Cola.
 You can connect different payment gateways to Magento. It also comes with certain
options, like PayPal, cash on delivery, and bank transfer already built-in.

Cons

 If you‘re just starting out in eCommerce, Magento might seem overwhelming.


 It can be tricky to find good developers for Magento projects, and it can be very
expensive to hire them.
 The support available can vary, particularly if you‘re using Magento Open Source and
relying on online forums for help.
6. LAMP stack with included services such as FTP and emails

LAMP stands for Linux, Apache, MySQL, and PHP. Together, they provide a proven set of
software for delivering high-performance web applications. Each component contributes
essential capabilities to the stack:

 Linux: The operating system. Linux is a free and open source operating system (OS)
that has been around since the mid-1990s. Today, it has an extensive worldwide user base
that extends across industries. Linux is popular in part because it offers more flexibility
and configuration options than some other operating systems.
 Apache: The web server. The Apache web server processes requests and serves up web
assets via HTTP so that the application is accessible to anyone in the public domain over
a simple web URL. Developed and maintained by an open community, Apache is a
mature, feature-rich server that runs a large share of the websites currently on the
internet.
 MySQL: The database. MySQL is an open source relational database management
system for storing application data. With My SQL, you can store all your information in a
format that is easily queried with the SQL language. SQL is a great choice if you are
dealing with a business domain that is well structured, and you want to translate that
structure into the backend. MySQL is suitable for running even large and complex
sites. See "SQL vs. NoSQL Databases: What's the Difference?" for more information on
SQL and NoSQL databases.
 PHP: The programming language. The PHP open source scripting language works
with Apache to help you create dynamic web pages. You cannot use HTML to perform
dynamic processes such as pulling data out of a database. To provide this type of
functionality, you simply drop PHP code into the parts of a page that you want to be
dynamic.

PHP is designed for efficiency. It makes programming easier—and a bit more fun—by allowing
you to write new code, hit refresh, and immediately see the resulting changes without the need
for compiling. If you prefer, you can swap out PHP in favor of Perl or the increasingly popular
Python language.

LAMP architecture

LAMP has a classic layered architecture, with Linux at the lowest level. The next layer is
Apache and MySQL, followed by PHP. Although PHP is nominally at the top or presentation
layer, the PHP component sits inside Apache.
IMAP (Internet Messaging Access Protocol)

• Emails are stored on the server.


• Sent messages are stored on the server.
• Messages can be synced and accessed across multiple devices.

POP3 (Post Office Protocol)

• Emails are stored on a single device.


• Sent messages are stored on a single device.
• Emails can only be accessed from a single device.
• If you want to keep messages on the server, make sure the setting "Keep email on server"
is enabled or all messages are deleted from the server once downloaded to the app or
software

7. The difference between HTTP and HTTPS

Differences between POP3 and IMAP


Computer EngineeringComputer NetworkMCA

Both POP3 and IMAP are Message Accessing Agent which are widely used to retrieve messages
from a mail server to receiver systems. Both helps in setting SPAM and virus filters.

Following are the important differences between POP3 and IMAP.

Sr. No. Key POP3 IMAP

IMAP stands for Internet Message


1 Full Form POP3 stands for Post Office Protocol 3
Access Protocol.

POP3 is simple and only mails can be


IMAP is complex and allows to see
2 Complexity downloaded from your inbox to local
all the folders on the mail server.
computer.
Sr. No. Key POP3 IMAP

POP3 listens on 110 and POP with SSL, IMAP listens on 143 and IMAP with
3 Ports
POP3DS listens on 995 port. SSL, IMAPDS listens on 993 port

POP3 suppots single device to access the IMAP supports multiple devices
4 Multiaccess
mail at a time. which can access the mail at a time.

In POP3, mail to be downloaded first then In IMAP, mail can be partially read
5 Download
can be read. before complete download.

Mail Mails cannot be organized on mail server IMAP allows to organize mails on
6
Organize using POP3. mail server.

IMAP allows to
Update Mails cannot be created/updated/deleted
7 create/update/delete mails on mail
Email on mail server using POP3.
server.

Mail content cannot be searched on mail


Search Mail content can be searched on
8 server using POP3. To search, mail to be
Content mail server using IMAP.
downloaded first.

Mail message header can be


9 Download All message are downloaded at once. previewed befor a message is to be
downloaded.

Using local email software, a mail can be A mail can be updated via a web
10 Change
updated. interface or email software.

8.The difference between SFTP and FTP


FTP vs SFTP Explained

First, let‘s talk about what‘s the same between FTP vs SFTP.

Both protocols let you use an FTP client, like FileZilla, to connect to your website‘s servers. To
the end-user (you), there‘s pretty much zero difference in experience between FTP and SFTP.
With both protocols, you‘ll be able to:

 Connect to your server


 Browse all of the files on your server (even the hidden ones)
 Upload files from your local computer to your server
 Download files from your server to your local computer
 And so on…

However, there are some key differences under the hood, which is why it‘s important to
understand the difference between FTP vs SFTP.

Let‘s go through it in more detail.

What Is FTP?

FTP is short for File Transfer Protocol. Using the client/server model, FTP supports the direct
transfer of files between your chosen FTP client and your web server.

FTP uses two separate channels to transfer information: a command channel and a data channel.
By default, both of these channels are unencrypted, which means malicious actors could
potentially eavesdrop on the information that you‘re transferring.

What Is SFTP?

SFTP is short for SSH File Transfer Protocol, though it‘s also commonly called Secure File
Transfer Protocol.

SFTP offers the same basic function as FTP, but it uses tunneling and performs file transfers
over SSH, which is different from FTP‘s client-server and direct transfer approach.

So, what is SSH?

SSH, short for Secure Shell, is a cryptographic protocol that offers secure access to a machine
(your server, in this case) over unsecured networks.

SFTP only uses a single channel and lets you authenticate your client using either a
username/password or SSH cryptographic keys.

What’s the Difference Between FTP vs SFTP, Then?

The key difference between FTP vs SFTP is that SFTP uses a secure channel to transfer files
while FTP doesn‘t.

With SFTP, your connection is always secured and the data that moves between your FTP client
and your web server is encrypted. This means that malicious actors can‘t sit in the middle and
intercept your data – everything you transfer is always encrypted.
With FTP, you need to authenticate with a username and password when you initially connect.
However, the data that passes between your web server and FTP client isn‘t encrypted, which
means that a malicious actor could theoretically eavesdrop on that information.

This would be especially dangerous if you were transferring files with sensitive information. For
example, with a WordPress site, you could be transferring the wp-config.php file, which includes
your database credentials, along with other critical settings.

If a malicious actor got their hands on this file, they would have everything they need to take
over your WordPress site.

That’s the big takeaway:

While both protocols let you transfer files between your client and server, SFTP is much more
secure than FTP.

FTP is easier to set up. ✅SFTP is more secure. ✅So which protocol should you choose? Click to learn
more about the two options ✅

9. The difference between HTTP and HTTPS

What is HTTP?#

HTTP stands for Hypertext Transfer Protocol. When you enter http:// in your address bar in
front of the domain, it tells the browser to connect over HTTP. HTTP uses TCP (Transmission
Control Protocol), generally over port 80, to send and receive data packets over the web. To put
it simply it is a protocol that's used by a client and server which allows you to communicate with
other websites. The client sends a request message to an HTTP server (after the TCP handshake)
which hosts a website, the server then replies with the response message. The response message
contains completion status information, such as HTTP/1.1 200 OK.

TCP has had enhancements over the years but for the most part is very much the same as it was
when it first defined in 1974, RFC 675. HTTP also uses UDP (User Datagram Protocol),
designed by David Reed in 1980, defined in RFC 768. It is less reliable but widely used in video
conferencing, video games, and streaming. It allows individual packets to be dropped and
received in a different order for better performance.

The term hypertext originally came from Ted Nelson in 1965. The original HTTP was developed
and originally proposed by Tim Berners-Lee, the director of the World Wide Web Consortium
(W3C). The W3C's mission is to lead the web to its full potential by developing protocols and
guidelines that ensure the long-term growth of the web.

The first documentation of HTTP was published in 1991 as HTTP/0.9 which only consisted of
one HTTP request method, GET (requests data from a specified resource). In 1996 HTTP 1.0,
RFC 1945, was developed and this consisted of three HTTP request methods, GET, HEAD, and
POST (submits data to be processed to a specified resource). Finally in 1997, the HTTP/1.1
protocol, RFC 2068, was developed as a revision of HTTP 1.0 and after 19 years it is still used
today for all HTTP requests.

Over the years there are have been some slight revisions to HTTP/1.1. In 1999, RFC 2616
introduced five new methods, OPTIONS, PUT, TRACE, CONNECT, and DELETE. And then in March
2010, RFC 5789 introduced the PATCH method. As of today the current version defines nine
different request methods.

In HTTP/0.9 and 1.0 the connection was closed after a single request. In HTTP/1.1 persisted
connections (more than one request/response on the same HTTP connection) were introduced,
which dramatically reduced latency. Other improvements such as caching, better compression
support, and Cross-Origin Resource Sharing (CORS) were also added.

If there is a problem with an HTTP request there is a list of status codes which inform your
browser so that you can better troubleshoot what the problem might be. The way the user-agent
handles the response depends upon the code and the response header fields. For example, a 404
Not Found error means the the content either does not exist or has been moved. Or another
common example is a 502 Bad Gateway error which could mean that the domain name is not
resolving to the correct IP or it does not resolve to any IP.

What is HTTPS?#

HTTPS stands for Hypertext Transfer Protocol Secure (also referred to as HTTP over TLS or
HTTP over SSL). When you enter https:// in your address bar in front of the domain, it tells
the browser to connect over HTTPS. Generally sites running over HTTPS will have a redirect in
place so even if you type in http:// it will redirect to deliver over a secured connection. HTTPS
also uses TCP (Transmission Control Protocol) to send and receive data packets, but it does so
over port 443, within a connection encrypted by Transport Layer Security (TLS).

Remember Nestcape? Well HTTPS was actually created by Netscape Communications back in
1994 to use in its Netscape Navigator web browser. HTTPS originally used the SSL protocol
which eventually evolved into TLS, the current version defined in RFC 2818 in May 2000. That
is why you might hear the terms SSl and TLS thrown around quite loosely.

HTTPS transmits its data security using an encrypted connection. Basically it uses a public key
which is then decrypted on the recipient side. The public key is deployed on the server, and
included in what you know as an SSL certificate. The certificates are cryptographically signed by
a Certificate Authority (CA), and each browser has a list of CAs it implicitly trusts. Any
certificate signed by a CA in the trusted list is given a green padlock lock in the browser's
address bar, because it's proven to be "trusted" and belongs to that domain. Companies like Let's
Encrypt have now made the process of issuing SSL certificates free.

We wrote a post a while back on why you should be establishing SSL trust for your business.
According to a GlobalSign survey, 84% of shoppers abandon a purchase if data was sent over an
unsecured connection and 28.9% look for the green address bar. Never enter your credit card
details on websites that run over HTTP. The main purpose of using HTTPS is for security and
privacy reasons. When the data is encrypted this means nothing is passing in plain text. A lot of
people might question whether they need to bother with HTTPS on smaller sites, like a blog, but
remember even your login page should be encrypted.

What is the difference between HTTP and HTTPS?#

Below are some of the main differences between the HTTP and HTTPS protocols, in no
particular order.

1. HTTP URL in your browser's address bar is http:// and the HTTPS URL is https://.
2. HTTP is unsecured while HTTPS is secured.
3. HTTP sends data over port 80 while HTTPS uses port 443.
4. HTTP operates at application layer, while HTTPS operates at transport layer.
5. No SSL certificates are required for HTTP, with HTTPS it is required that you have an SSL
certificate and it is signed by a CA.
6. HTTP doesn't require domain validation, where as HTTPS requires at least domain validation and
certain certificates even require legal document validation.
7. No encryption in HTTP, with HTTPS the data is encrypted before sending.

Summary#

We highly encourage you to think about switching over to HTTPS. The TLS negotiation and
CPU overhead are now very negligible and in a lot of tests we have seen performance
improvements when people make the switch from HTTP to HTTPS, as long as they are running
over HTTP/2. Make sure to also check out our HTTP to HTTPS migration guide. And don't
forget, you can deploy KeyCDN assets over HTTPS, even if you haven't had time to migrate
your origin server yet.

10. What is a port?

A port is a virtual point where network connections start and end. Ports are software-based and
managed by a computer's operating system. Each port is associated with a specific process or
service. Ports allow computers to easily differentiate between different kinds of traffic: emails go
to a different port than webpages, for instance, even though both reach a computer over the same
Internet connection.

What is a port number?

Ports are standardized across all network-connected devices, with each port assigned a number.
Most ports are reserved for certain protocols — for example, all Hypertext Transfer Protocol
(HTTP) messages go to port 80. While IP addresses enable messages to go to and from specific
devices, port numbers allow targeting of specific services or applications within those devices.

How do ports make network connections more efficient?

Vastly different types of data flow to and from a computer over the same network connection.
The use of ports helps computers understand what to do with the data they receive.

Suppose Bob transfers an MP3 audio recording to Alice using the File Transfer Protocol (FTP).
If Alice's computer passed the MP3 file data to Alice's email application, the email application
would not know how to interpret it. But because Bob's file transfer uses the port designated for
FTP (port 21), Alice's computer is able to receive and store the file.

Meanwhile, Alice's computer can simultaneously load HTTP webpages using port 80, even
though both the webpage files and the MP3 sound file flow to Alice's computer over the same
WiFi connection.

What are the different port numbers?

There are 65,535 possible port numbers, although not all are in common use. Some of the most
commonly used ports, along with their associated networking protocol, are:

 Ports 20 and 21: File Transfer Protocol (FTP). FTP is for transferring files between a client and a
server.
 Port 22: Secure Shell (SSH). SSH is one of many tunneling protocols that create secure network
connections.
 Port 25: Simple Mail Transfer Protocol (SMTP). SMTP is used for email.
 Port 53: Domain Name System (DNS). DNS is an essential process for the modern Internet; it
matches human-readable domain names to machine-readable IP addresses, enabling users to
load websites and applications without memorizing a long list of IP addresses.
 Port 80: Hypertext Transfer Protocol (HTTP). HTTP is the protocol that makes the World Wide
Web possible.
 Port 123: Network Time Protocol (NTP). NTP allows computer clocks to sync with each other, a
process that is essential for encryption.
 Port 179: Border Gateway Protocol (BGP). BGP is essential for establishing efficient routes
between the large networks that make up the Internet (these large networks are called
autonomous systems). Autonomous systems use BGP to broadcast which IP addresses they
control.
 Port 443: HTTP Secure (HTTPS). HTTPS is the secure and encrypted version of HTTP. All HTTPS
web traffic goes to port 443. Network services that use HTTPS for encryption, such as DNS over
HTTPS, also connect at this port.
 Port 500: Internet Security Association and Key Management Protocol (ISAKMP), which is part of
the process of setting up secure IPsec connections.
 Port 3389: Remote Desktop Protocol (RDP). RDP enables users to remotely connect to their
desktop computers from another device.

The Internet Assigned Numbers Authority (IANA) maintains the full list of port numbers and
protocols assigned to them.

You might also like