Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 86

ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing

Unit number and title 13: Website Design & Development

Date Received 1st


Submission date 27/2/2024
submission

Date Received 2nd


Re-submission Date
submission

Student Name Nguyen Phu Thanh Phong Student ID BH00767

Class SE06204 Assessor name Huế

Student declaration

I certify that the assignment submission is entirely my own work and I fully understand the consequences of plagiarism. I
understand that making a false declaration is a form of malpractice.

Student’s signature Phong

Grading grid

P1 P2 P3 P4 M1 M2 M3 D1
❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date:


Signature & Date:
Table of Contents
I.Introduction............................................................................................................................................................................... 7
II.Content.................................................................................................................................................................................... 8
1. IDENTIFY THE PURPOSE AND TYPES OF DNS, INCLUDING EXPLANATIONS ON HOW DOMAIN
NAMES ARE ORGANISED AND MANAGED................................................................................................................8
1.1 Website........................................................................................................................................................................... 8
1.1.1 What is a website?................................................................................................................................................... 8
1.1.2 How the website works?........................................................................................................................................12
1.2 Domain Name System..................................................................................................................................................13
1.2.1 What is a domain name?........................................................................................................................................13
1.2.2 How the domain names are organized and managed?...........................................................................................14
1.2.3 What is Domain Name System?............................................................................................................................16
1.2.4 Purpose and type of DNS.......................................................................................................................................16
1.2.5 How does DNS work.............................................................................................................................................20
2. EXPLAIN THE PURPOSE AND RELATIONSHIPS BETWEEN COMMUNICATION PROTOCOLS,
SERVER HARDWARE, OPERATING SYSTEMS, AND WEB SERVER SOFTWARE WITH REGARD TO
DESIGNING, PUBLISHING, AND ACCESSING A WEBSITE...................................................................................21
2.1 Web communication protocols.....................................................................................................................................21
2.2 Server Hardware...........................................................................................................................................................24
2.3 Operating systems........................................................................................................................................................ 29
2.4 Web server software.................................................................................................................................................35
2.5 Relationship between communication protocols, server hardware, operating systems and web server software with
regards to designing, publishing, and accessing a website.................................................................................................37
3. DISCUSS THE CAPABILITIES AND RELATIONSHIPS BETWEEN FRONT-END AND BACK-END
WEBSITE TECHNOLOGIES AND EXPLAIN HOW THESE RELATE TO PRESENTATION AND
APPLICATION LAYERS..................................................................................................................................................40
3.1 Front-end technologies such as HTML, CSS, JS… Give advantages and disadvantages...........................................41
3.2 Back-end technologies such as .NET, PHP, Java, Python... Definition, uses, Give advantages and disadvantages...45
3.3 Explain how these relate to presentation and application layers..................................................................................48
3.4 Role of presentation and application layers.................................................................................................................49
3.5 How the Front-end and back-end website technologies relate to presentation and application layers in OSI model52
4. DISCUSS THE DIFFERENCES BETWEEN ONLINE WEBSITE CREATION TOOLS AND CUSTOM
BUILT SITES ABOUT DESIGN FLEXIBILITY, PERFORMANCE, FUNCTIONALITY, USER EXPERIENCE
(UX), AND USER INTERFACE (UI)................................................................................................................................52
4.1 Some of the tools to create an online website..............................................................................................................52
4.2 Discuss the differences between online website creation tools and custom-built sites with regard to design
flexibility, performance, functionality, User Experience (UX), and User Interface (UI)..................................................53
4.3 Definition of UI, UX....................................................................................................................................................55
5. Evaluate the impact of common web development technologies and frameworks with regards to website design,
functionality and management(M1)...................................................................................................................................56
5.1 State the role of frameworks in website design and development ..............................................................................56
5.2. List a few frameworks for front end and back end......................................................................................................57
5.3. State at least the characteristics, advantages and disadvantages of 2 frameworks for front end and 2 frameworks for
back end..............................................................................................................................................................................58
5.4. Choose the appropriate framework for the scenario and give reasons........................................................................62
6. Review the influence of search engines on website performance and provide evidence-based support for
improving a site’s index value and rank through search engine optimization(M2)......................................................62
6.1 SEO definition .............................................................................................................................................................63
6.2 The role of SEO............................................................................................................................................................63
6.3 Types of SEO:.............................................................................................................................................................. 65
6.4 How search engine rankings are established................................................................................................................67
6.5 SEO standard website design criteria...........................................................................................................................69
6.6 The influence of search engines on website performance (Analyze ranking factors that affect website performance
and how page loading speed affects SEO).........................................................................................................................71
6.7 Provide examples demonstrating how to improve search rankings through SEO.......................................................72
7. Evaluate a range of tools and techniques available to design and develop a custom built website.........................74
III. Reference list.......................................................................................................................................................................84
Figure 1/what is website.............................................................................................................................................................................................. 8
Figure 2/How the website works............................................................................................................................................................................... 12
Figure 3/ How the domain names are organized and managed..................................................................................................................................15
Figure 4/Root servers................................................................................................................................................................................................. 17
Figure 5/TLD (Top Level Domain) nameserver........................................................................................................................................................18
Figure 6/URLs........................................................................................................................................................................................................... 20
Figure 7/How does DNS work................................................................................................................................................................................... 21
Figure 8/Rack-mounted servers................................................................................................................................................................................. 26
Figure 9/Blade servers............................................................................................................................................................................................... 27
Figure 10/Tower servers............................................................................................................................................................................................ 27
Figure 11/Micro severs.............................................................................................................................................................................................. 28
Figure 12/Mainframe servers..................................................................................................................................................................................... 29
Figure 13/Operating systems..................................................................................................................................................................................... 29
Figure 14/Windows Servers....................................................................................................................................................................................... 30
Figure 15/Linux......................................................................................................................................................................................................... 31
Figure 16/Red Hat Enterprise Linux (RHEL)............................................................................................................................................................32
Figure 17/UNIX-Based Operating Systems...............................................................................................................................................................32
Figure 18/NetWare.................................................................................................................................................................................................... 33
Figure 19/ macOS Server........................................................................................................................................................................................... 34
Figure 20/FreeBSD.................................................................................................................................................................................................... 35
Figure 21/Web server software.................................................................................................................................................................................. 37
Figure 22/HTML....................................................................................................................................................................................................... 42
Figure 23/CSS............................................................................................................................................................................................................ 43
Figure 24/JavaScript (JS):.......................................................................................................................................................................................... 44
Figure 25/Net............................................................................................................................................................................................................. 45
Figure 26/php............................................................................................................................................................................................................. 46
Figure 27/java............................................................................................................................................................................................................ 47
Figure 28/Python....................................................................................................................................................................................................... 48
I.Introduction
Website Design & Development is the process of creating and developing websites, from interface design to programming
and deployment. It includes aspects such as graphic design, user experience, source code and database creation, as well as
website optimization for fast loading speed and compatibility with different devices.

Website Design & Development plays an important role in building a professional and attractive online interface. A well-
designed website not only attracts users but also creates a good experience and increases credibility for the brand or
business. The process of designing and developing a website often includes steps such as: Collecting requirements:
Understanding customer needs and website goals.

Interface design: Create drawings or interface templates to represent the structure and visuals of the website.Source code
development: Program website functions and features using programming languages such as HTML, CSS, JavaScript, PHP,
Python, and many others.

Website optimization: Make sure the website is fast loading, search engine friendly (SEO) and compatible on mobile
devices.

Testing and deployment: Test the website on various browsers and devices to ensure smooth and error-free operation. Then
deploy the website to the production environment.

Maintenance and upgrades: Ensure the website is maintained and updated regularly to meet customer requests and changes.

Website Design & Development plays an important role in building a professional, attractive and interactive website. It
helps build an online image and brand, attract customers and increase business efficiency
II.Content

1. IDENTIFY THE PURPOSE AND TYPES OF DNS, INCLUDING EXPLANATIONS ON HOW DOMAIN
NAMES ARE ORGANISED AND MANAGED

1.1 Website

1.1.1 What is a website?


A website is like a book. And its pages are called ‘webpages’. Just like different books may have different numbers of
pages, different websites also have different numbers of web pages. A website can have one or one thousand web pages.
And just like different pages may have different text or pictures, different web pages also may have different text or pictures
or videos or something else.

Figure 1/what is website

 Domain name
A domain name is a human-readable address used to locate resources, such as websites, on the internet. It serves as a user-
friendly way to identify and access specific web locations. A domain name typically consists of two main parts: the actual
name or identifier (such as "example") and a domain extension (such as ".com", ".org", ".net", etc.). For instance, in the
domain name "example.com," "example" is the name, and ".com" is the domain extension.

Here's a breakdown of the components of a domain name:

Subdomain (optional): This is an additional part that precedes the main domain name. For example, in "blog.example.com,"
"blog" is the subdomain

Domain name: This is the main part of the address that typically represents the organization, brand, or purpose of the
website. In "example.com," "example" is the domain name.

Domain extension: Also known as a top-level domain (TLD), this is the suffix that follows the domain name. It indicates the
type or category of the website. Some common examples include ".com," ".org," ".net," ".edu," and country-code TLDs like
".uk" for the United Kingdom or ".de" for Germany.

Domain names are used in URLs (Uniform Resource Locators) to navigate the internet. When a user enters a domain name
into a web browser's address bar, the browser uses DNS (Domain Name System) to translate the domain name into an IP
(Internet Protocol) address, which is the numerical identifier of the server hosting the website. Once the IP address is
obtained, the browser can establish a connection with the server and retrieve the requested web page.

 Hosting

Website hosting refers to the service provided by companies (known as web hosts) that allows individuals or
organizations to make their website accessible via the World Wide Web. In simple terms, website hosting involves
storing website files and data on servers that are connected to the internet, thus enabling visitors to access the website at
any time.

Here's a breakdown of the key components and usage of website hosting:


Server Space: Web hosts allocate space on their servers to store website files, including HTML documents, images,
videos, and other media files. This server space is where all the content of the website resides.

Bandwidth: Hosting services typically offer a certain amount of bandwidth, which determines the amount of data that
can be transferred between the website and its visitors. Higher bandwidth allowances allow for more visitors and faster
loading times.

Server Maintenance and Security: Web hosts are responsible for maintaining the servers and ensuring they are secure
and operational. This includes software updates, hardware maintenance, and security measures to protect against cyber
threats.

Domain Management: Many hosting providers offer domain registration services or integrate with domain registrars to
simplify the process of managing domain names associated with the hosted websites.

Email Hosting: Some hosting plans include email hosting services, allowing website owners to create custom email
addresses associated with their domain name (e.g., info@example.com).

Database Support: Many websites require databases to store dynamic content, such as user information, product listings,
or blog posts. Hosting services often include support for popular database systems like MySQL or PostgreSQL.

Technical Support: Web hosts typically provide customer support to assist users with any technical issues related to
hosting, such as server configuration, troubleshooting, or software installation.

Website hosting allows individuals, businesses, and organizations to establish an online presence by making their
websites accessible to a global audience. Without hosting services, websites would not be accessible on the internet.
Hosting options range from shared hosting (where multiple websites share resources on the same server) to dedicated
hosting (where a single server is dedicated to one website) and cloud hosting (where websites are hosted on virtual
servers that can be scaled up or down based on demand). The choice of hosting plan depends on factors such as website
traffic, resource requirements, and budget.

 Source code
Website source code refers to the underlying programming instructions written in languages such as HTML (Hypertext
Markup Language), CSS (Cascading Style Sheets), and JavaScript that define the structure, layout, and behavior of a
website. It consists of text-based files containing instructions that web browsers interpret to render the visual elements
and functionality of a website.

Here's a breakdown of the key components and usage of website source code:

HTML (Hypertext Markup Language): HTML is the standard markup language used to create the structure and content
of web pages. It defines elements such as headings, paragraphs, links, images, and forms, using tags enclosed in angle
brackets (< >). HTML provides the basic structure of a web page, organizing content into a hierarchical structure.

CSS (Cascading Style Sheets): CSS is a stylesheet language used to control the presentation and styling of HTML
elements. It allows web developers to define styles such as colors, fonts, layout, and spacing, separately from the HTML
structure. CSS rules are applied to HTML elements to achieve a desired visual appearance and layout.

JavaScript: JavaScript is a scripting language used to add interactivity and dynamic behavior to web pages. It enables
developers to create interactive features such as animations, user interface elements, form validation, and dynamic
content updates. JavaScript code is embedded within HTML documents or included as separate files linked to HTML
pages.

Other Technologies: In addition to HTML, CSS, and JavaScript, website source code may include references to other
technologies and frameworks such as server-side scripting languages (e.g., PHP, Python, Ruby), client-side libraries
(e.g., jQuery, React, Angular), and content management systems (e.g., WordPress, Joomla, Drupal).

Website source code is typically created and edited using text editors or integrated development environments (IDEs)
and saved as text-based files with specific file extensions (e.g., .html for HTML files, .css for CSS files, .js for
JavaScript files). Once written, the source code is uploaded to a web server, where it is stored and made accessible to
web browsers over the internet.
When a user accesses a website, their web browser sends a request to the web server hosting the site, which responds by
sending the corresponding HTML, CSS, and JavaScript files to the browser. The browser then interprets and renders the
source code, displaying the web page according to the defined structure, styling, and behavior.

In website source code encompasses the programming instructions written in languages such as HTML, CSS, and
JavaScript that define the structure, appearance, and functionality of a website, enabling web browsers to render and
display web pages to users.

1.1.2 How the website works?


Well, the most common definition of a website is ‘its a collection of webpages’. But what are web pages? Do you think it’s
too technical knowledge? Well, don’t worry, here we have simplified the whole process for your better understanding. So
adjust your seat, make it comfortable and here we go…

Figure 2/How the website works


The operation of a typical website can be described through the following six basic steps:

Send request: When a user enters a website's URL into the browser, the browser sends a request to the web server that
contains the website.

Processing the request: The web server receives the request from the browser and begins processing. This process may
include retrieving data from a database, executing programming code, or accessing files and resources needed to display the
web page.

Content Generation: The web server generates the content of the website based on user requests and available data. This
content includes HTML, CSS, and JavaScript code along with resources like images, videos, and data from databases.

Send response: The web server sends a response containing the website's content to the user's browser via the HTTP
(Hypertext Transfer Protocol).

Displaying the web page: The browser receives a response from the web server and begins the process of displaying the
web page. It will load the necessary resources (like images, CSS, JavaScript) and arrange them according to the structure
defined in the HTML code.

Interaction and navigation: Users can interact with the website by clicking, typing, or navigating to other pages. Each of
these interactions sends a new request to the web server, and the above process is repeated to deliver new content or
perform new actions on the website.

1.2 Domain Name System

1.2.1 What is a domain name?


A domain name is a unique identifier that is used to identify a website or other online resource on the internet. It consists of
two or more parts, separated by dots. The rightmost part is know a as the top-level domain (TLD), and the other parts are
known as the second-level domain (SLD) and any subsequent subdomains.

For example, in the domain name "EmailHosting.com," "com" is the TLD, "google" is the SLD, and there are no
subdomains.
 TLD – Top level domain

A Top-Level Domain (TLD) is the highest level in the hierarchical Domain Name System (DNS) of the internet. It
appears as the last segment in a domain name, following the final dot. Examples of TLDs include ".com", ".org", ".net",
".gov", ".edu", ".info", ".biz", and country-code TLDs like ".uk" for the United Kingdom, ".de" for Germany, and ".jp"
for Japan.

 gTLDs – Generic top-level domain

Generic TLDs (gTLDs): These TLDs have a general-purpose and are not associated with a specific country. Examples
include ".com" (commercial), ".org" (organization), ".net" (network), ".info" (information), ".biz" (business), and
".name" (individuals).

 ccTLD – Country-code top-level domain

Country-Code TLDs (ccTLDs): These TLDs are associated with specific countries or territories. Each country has its
own ccTLD, such as ".us" for the United States, ".uk" for the United Kingdom, ".ca" for Canada, and ".jp" for Japan.

1.2.2 How the domain names are organized and managed?


The DNS hierarchy is organized into several levels, with the root servers at the top of the hierarchy. Below the root servers
are the top-level domain (TLD) servers, followed by the authoritative DNS servers for each domain.

 Root Servers

[5] The root servers are the starting point for all DNS queries. There are 13 root servers located around the world, and each
server has a unique IP address.

When a DNS resolver receives a query for a domain name, it first queries one of the root servers to determine the IP address
of the TLD server associated with the domain name.

 Top-Level Domain (TLD) Servers


[6] The TLD servers are responsible for managing the DNS records for each TLD. For example, the .com TLD server is
responsible for managing the DNS records for all domain names that end in .com.

There are two types of TLDs: generic TLDs (gTLDs) and country code TLDs (ccTLDs). Examples of gTLDs
include .com, .org, and .net, while examples of ccTLDs include .uk (United Kingdom) and .au (Australia).

 Authoritative DNS Servers

[5] The authoritative DNS servers are responsible for managing the DNS records for a specific domain name. When a DNS
resolver receives a query for a specific domain name, it queries the authoritative DNS server for that domain name to obtain
the IP address associated with the domain name.

Figure 3/ How the domain names are organized and managed

Domain Name Management

Once a user has registered a domain name, they can manage the DNS records for that domain name. This includes
configuring the IP address associated with the domain name, creating subdomains, and managing DNS settings such as TTL
(Time).
To manage their domain name, the user typically logs into their account with their domain name registrar and makes
changes to the DNS records. These changes can take anywhere from a few minutes to several hours to propagate throughout
the DNS system, depending on the TTL set for the DNS records.

Several types of DNS records can be managed for a domain name, including:

A record: Associates an IP address with a domain name

CNAME record: Associates a domain name with another domain name (usually used for subdomains)

MX record: Specifies the mail server responsible for handling email for the domain name

TXT record: Provides additional information about the domain name, such as SPF (Sender Policy Framework) records for
email authentication

1.2.3 What is Domain Name System?


[8] The Domain Name System (DNS) is a directory of names that matches with numbers, the numbers are the IP addresses
which computers use to communicate with each other. The DNS is a protocol which uses the TCP/IP protocol set. It helps
convert URLs into IP addresses that computers use to identify each other on a network, it is a system that matches names
with numbers like a phonebook does. With a DNS you do not need to have the IP address of everyone, you connect to a
Domain name server, which holds a large database of domain names and translates them to IP addresses 1. So, when you
type in a website like www.bbc.co.uk for example, your internet service provider will request the DNS linked with the
domain name and then translates it into an IP address that a computer understands then will direct you to the correct
website. If you have previously visited the website, the computer will first check the cache to see if it has already visited the
website before, if not it will do a DNS query to find the website.

1.2.4 Purpose and type of DNS


 Root servers
[8] The root name server for the DNS records is a server that has a big role in the translating of a domain name into an IP
address for a computer, they answer requests made in the root zone of the DNS. The servers can answer queries records
which are cached in the root zone. They can also divert other requests made onto the TLD server.

Figure 4/Root servers

 TLD (Top Level Domain) nameserver

[8] The TLD nameserver is referring to the last part of a domain name, the part after the dot. TLDs made up into two
categories, a country TLD and industries TLD. For example .FR for France and .GOV for governments websites. The TLD
is the highest level of domain names in the root zone of the DNS for the internet. For the other domains in lower levels, it is
the last section of the domain name 1. The managing of the TLD nameservers is take care of by the IANA (Internet
Assigned Numbers Authority) which is a part of the organisation ICANN.
Figure 5/TLD (Top Level Domain) nameserver

 Authoritative nameservers

[8] An authoritative nameserver provides answers to an original DNS query. It does not provide answers of websites from
the cached memory 3. The Authoritative nameserver provides answers to the recursive DNS nameservers with IP mapping
of the website (or other server) searched for. The authoritative name server holds the records for domain names, these can
be either A, CNAME, MX, NS, SOA or TXT records. An example could be if a DNS server in a network has stored a
record for a website for example www.example.co.uk, then it would be that this DNS server is the authoritative server for
the example.co.uk domain.

 URLs

[8] A URL is the address of the website that you type into the address bar in a browser. A URL is unique and cannot be
shared between different websites, it is just like a fingerprint with a person each person’s fingerprint is unique to them and
there is no other the same. A URL is organized by the structure of different parts, this example shows the different parts of a
URL and how they are organized – https://moodle.nptcgroup.ac.uk. HTTPS is the protocol that is used to send data over the
browser and the website you want to connect to. The host is “Moodle” which is the name of the web servers where it can be
accessed. Then the .ac is the second-level domain, this shows that it is an academic second-level domain and is used by
universities and colleges in the UK. Then the .uk is the top-level domain, this is the highest level of domain and shows that
it is in the country of the UK by its top-level domain. This is the end of the URL and is normally either a company (.com),
country (.fr) or a government (.gov)

.com - (Commercial) - Used primarily for commercial organizations, businesses, and internet services. However, it can also
be used for purposes other than business.

.net - (Network) - Originally designed for organizations involved in network or internet services. However, today, it is
commonly used by many types of organizations, including individuals and businesses.

.edu - (Educational organization) - Dedicated to university or educational organizations and institutions. Universities, high
schools, research institutes, and other educational institutions often use this domain name.

.gov - (Government organization) - For organizations and government agencies. This helps differentiate government
websites from commercial or personal websites.

.vn, .de, .uk - (Country code) - These are country-level domain names, especially for specific countries or regions. For
example, ".vn" is for Vietnam, ".de" is for Germany, and ".uk" is for the United Kingdom. These national domain names are
commonly used by organizations and individuals within the respective country.

Domain name management includes keeping the DNS up to date, the management aspect of it is controlled using a portal by
a third-party company. Using this portal, the personal or business website can control DNS records which allow access to
the website, your blog, email, and other online assets. Lots of companies online offer services that will control your domain
names for you, these will keep your domain name from expiring by offering an auto-renewal service with their service.
Once your domain name is up and running you can then use the portal to manage your domain and all aspects of it easily
from one place, you can change the DNS records quickly and easily for different domains.
Figure 6/URLs

1.2.5 How does DNS work


[4] DNS is a really simple system to understand. When you type the URL of a website into your browser, it assists you in
establishing a connection between that website's domain name and its corresponding IP address. The process in question is
referred to as Domain Name Resolution.

Say you want to visit Google, so you type "google.com" into your browser. You are not connecting to a service specific to
google.com. A DNS resolution indicates that google.com is located at this IP address. After that, your computer will
connect to that address via a specific service port and load the Google web page.

Here's a breakdown of each step

Step1: Requesting website information: This step involves a user or application requesting information about a website,
typically by entering a domain name (like example.com) into a web browser or other network application.

Step2: System typically contacts a recursive DNS server. These servers are responsible for handling DNS queries on behalf
of clients. They may have caches of recent queries to speed up the resolution process.

Step3: Query the Authoritative DNS Servers: If the recursive DNS server doesn't have the requested information in its
cache, it needs to query the authoritative DNS servers. These servers are responsible for storing and providing DNS records
for specific domains.
Step4: Access the DNS Record: The authoritative DNS servers respond to the recursive DNS server's query with the DNS
record associated with the requested domain name. This record typically includes information such as the IP address(es)
associated with the domain.

Step5: Final DNS Step: Finally, the recursive DNS server receives the DNS record from the authoritative servers and sends
it back to the client that made the initial request. The client can then use this information to connect to the desired website or
service.

Figure 7/How does DNS work

2. EXPLAIN THE PURPOSE AND RELATIONSHIPS BETWEEN COMMUNICATION PROTOCOLS, SERVER


HARDWARE, OPERATING SYSTEMS, AND WEB SERVER SOFTWARE WITH REGARD TO DESIGNING,
PUBLISHING, AND ACCESSING A WEBSITE

2.1 Web communication protocols


Web communication protocols are standardized methods or rules that govern how data is transmitted between devices over
the internet. These protocols ensure that different systems can communicate and exchange information reliably. Some
common web communication protocols include:
Hypertext Transfer Protocol (HTTP): HTTP is the foundation of data communication on the World Wide Web. It is a
request-response protocol, where a client (such as a web browser) sends a request to a server for a resource (such as a web
page), and the server responds with the requested resource.

Hypertext Transfer Protocol Secure (HTTPS): HTTPS is the secure version of HTTP. It adds a layer of encryption using
SSL/TLS (Secure Sockets Layer/Transport Layer Security) to ensure that data exchanged between the client and server is
encrypted and secure.

File Transfer Protocol (FTP): FTP is used for transferring files between a client and a server on a computer network. It
provides a simple way to upload, download, and manage files on a remote server.

Simple Mail Transfer Protocol (SMTP): SMTP is a protocol used for sending email messages between servers. It defines
how email messages should be formatted and transmitted over the internet.

Post Office Protocol (POP) and Internet Message Access Protocol (IMAP): POP and IMAP are protocols used by email
clients to retrieve emails from a mail server. POP typically downloads emails to the client's device and removes them from
the server, while IMAP allows emails to be stored on the server and synchronized across multiple devices.

Transmission Control Protocol (TCP) and User Datagram Protocol (UDP): TCP and UDP are transport layer protocols that
facilitate communication between applications running on different devices. TCP provides reliable, connection-oriented
communication with error checking and retransmission of lost packets, while UDP provides faster, connectionless
communication without built-in error recovery.

WebSocket: WebSocket is a communication protocol that provides full-duplex communication channels over a single TCP
connection. It enables real-time, low-latency communication between a client and a server, making it suitable for
applications such as online gaming, chat applications, and live updates.
HTTP HTTPS FTP
Purpose Commonly used to transmit hypertext documents on Essentially similar to HTTP but Used to transfer files between a
the World Wide Web. HTTP is the basis of data with an additional layer of client and a server on a computer
transmission for the World Wide Web. security provided by SSL/TLS network. FTP is commonly used to
encryption. HTTPS is used to upload and download files to and
protect communication between from a web server.
web servers and web browsers.
Security Does not provide any encryption, making it vulnerable Encrypts data using SSL/TLS Does not provide encryption by
to eavesdropping and alteration. Data transmitted encryption, providing a secure default, making it unsafe for
over HTTP is not secure. connection between client and transmitting sensitive information.
server. HTTPS prevents However, secure variants such as
eavesdropping and ensures data FTPS (Secure FTP) and SFTP (SSH
integrity and confidentiality. File Transfer Protocol) exist, which
provide encryption similar to
HTTPS.
Port Usually uses port 80 for communication. Usually uses port 443 for Usually uses port 21 for command
Number communication. communication (control connection)
and port 20 for data communication
(data connection).
Use:
Use Widely used to access websites, retrieve web pages, Used similarly to HTTP but Often used to transfer large files,
submit form data, and interact with web applications. preferred for secure manage website content, and update
transactions, such as online website files. However, FTP usage
shopping, online banking, and has decreased with the rise of more
accessing sensitive information. secure options such as SFTP and
SCP (Secure Copy Protocol).
Accuracy:
Accuracy These protocols do not provide built-in authentication These protocols do not provide Supports various authentication
mechanisms. Additional methods such as HTTP Basic built-in authentication methods, including FTP login
Authentication or cookie-based authentication are mechanisms. Additional (username/password), anonymous
often used. methods such as HTTP Basic FTP, and secure authentication
Authentication or cookie-based methods in secure variants such as
authentication are often used. FTPS and SFTP.
2.2 Server Hardware
[3] A server is a computer system that provides data, information, and other resources to other computer systems or devices
on a network. Server hardware is a physical component of the server system that facilitates this data processing,
management, and storage.

Server hardware comprises a server system, including the computer chassis, power supply, motherboard, processor,
memory, storage devices, and network interface cards. It is designed to provide high processing power, reliability, and
security levels to support critical business applications, services, and processes.

Server hardware differs from regular computer hardware because it is optimized to simultaneously support multiple users,
applications, and processes.

A server system typically has higher processing power, larger memory capacity, and storage devices to accommodate the
demands of multiple users accessing the system concurrently.

Details of the basic parts of computer hardware that must be included

[7] CPU – Central Processing Unit – Central Processing Unit

CPU (Central Processing Unit) is the central processing unit - a particularly important part and is considered the brain of the
computer. The CPU will perform basic functions including: Receiving information, decoding codes and executing
instructions, also known as the instruction cycle. Each structure within it, such as the CU control block and the ALU
calculation block, undertakes a separate function and task.

The CPU is composed of a small circuit board, inside is a ceramic chip attached to the circuit board (mainboard). CPU
speed is measured in units of Hertz (Hz) or Gigahertz (GHz), the larger the value, the stronger and faster your CPU will
operate.

Motherboard – Mainboard

In addition to the CPU, the motherboard is also an important part of the computer. The motherboard has the function of
connecting the components inside the device together into one block. Besides, it is also responsible for controlling the speed
and transmission of data between electronic devices, distributing voltage flow to components mounted on the main board.
Normally, the location of the PC Mainboard will be located at case, or integrated behind the screen for AIO computers.

RAM – Random Access Memory – temporary data memory

RAM is defined as random access memory. This means that when we open a software on the computer, data will be
transmitted from the hard drive to RAM and transmitted to the CPU for processing, then transmitted back to the hard drive.
The reason is because RAM has a processing speed many times faster than a hard drive.

The more GB of RAM you have, the more workloads you will be able to handle.

Hard drive

The hard drive is the place to store data in your computer. In addition, it is also directly related to important issues when
using a computer such as: computer startup speed, computer data copy and export speed, safety of personal data stored on
the computer.

Computer monitor - Monitor

A computer screen is a part used to connect to a computer for display purposes and to serve the communication process
between the user and the computer. Each screen will have different parameters that you can choose depending on your
preferences and needs such as resolution, screen brightness, size, screen ratio...

Power Supply Unit - PSU

Power Supply Unit (PSU) is also known as the computer's power supply. PSU is a hardware device located inside the case,
with the task of providing power to most important parts of the computer such as: motherboard, RAM, hard drive....Case -
Case

The computer case (Case) is considered a shell that covers and protects the internal components of the computer, avoiding
unwanted external impacts such as impact, dust, water... Depending on Depending on your needs and internal components,
you should choose the appropriate case.
Radiator fan

As the name suggests, the cooling fan helps lower the computer CPU temperature to a suitable level for stable operation,
avoiding overheating that will damage the device. Its structure is quite simple, including a radiator, heat pipes and base
stand. On the market today there are many types of cooling fans and most of them fall into two categories: air cooling and
liquid cooling.

[3] Types of server hardware

 Rack-mounted servers

These servers are mounted on racks, providing a space-saving solution for data centers or server rooms. Rack-mounted
servers are compact and scalable, allowing easy expansion as the business grows.

They typically come in different sizes and can accommodate different hardware configurations. Rack-mounted servers can
be a good option if you are a business owner starting your business.

Figure 8/Rack-mounted servers

 Blade servers

These are high-density servers that are designed to fit in a rack enclosure. Blade servers are ideal for organizations requiring
high computing power and flexibility in their server systems.
They typically have a smaller form factor, low power consumption, and are hot-swappable. These benefits have made blade
servers quite popular among business owners out there in the world.

Figure 9/Blade servers

 Tower servers

These are standalone servers designed to be installed on a desk or a floor. Tower servers are ideal for small to medium-sized
businesses that require a server system for their day-to-day operations. They are usually less expensive than rack-mounted
or blade servers and offer scalability and reliability.

Figure 10/Tower servers


 Micro servers

These small form factor servers are designed for low power consumption and are ideal for small business applications. They
are typically less expensive than other types of servers and offer a low-cost solution for businesses that require a server
system but have limited resources.

Figure 11/Micro severs

 Mainframe servers
These large and powerful servers are designed to support multiple users and applications concurrently. They are typically
used by large organizations or government agencies requiring high computing power, reliability, and security.

Figure 12/Mainframe servers

2.3 Operating systems (phoenixnap, 2022)


A server operating system is an advanced operating system designed to run on servers. It has the necessary features and
subsystems to operate in a client-server architecture and serve clients' requests.A server OS is designed from the ground up
to provide features suitable for multi-user, business-critical applications. It provides the central interface for managing
users, implementing security, and other administrative processes. The focus of a server operating system is usually security,
stability, and cooperation.

Figure 13/Operating systems

 Some popular operating systems


- Windows Server

Microsoft developed the Windows operating system family for everyday personal use and professional use in servers.
The Windows Server OS supports enterprise-level management, data storage, and a vast array or applications.

Windows Server features virtual memory management, a complete desktop GUI experience, allows multitasking, and
supports various peripheral devices. Microsoft usually provides 10 years of support for Windows Server.

The pros of a Windows server OS are the intuitive GUI, support for symmetric multi-processor systems, great third-
party application support, and many versions to choose from. The cons are the need for user-based licensing and more
virus security threats compared to other platforms

Figure 14/Windows Servers

- Linux

Linux is a family of UNIX-like operating systems that have all the features of UNIX. It is open-source, available for
free, facilitating multi-user, multi-process, multi-thread operations. However, Linux servers require more technical
knowledge - from installation to maintenance and bug fixing.
Figure 15/Linux

- Red Hat Enterprise Linux (RHEL)

RHEL is a paid Linux desktop and server distribution created by Red Hat. Initially, RHEL was released as the Red Hat
Linux Advanced Server and later renamed Red Hat Enterprise Linux AS, which included two distributions - Red Hat
Enterprise Linux ES and Red Hat Enterprise Linux WS.

The RHEL source code is freely available, but Red Hat uses strict regulations that limit its official Linux OS version
redistribution. These limitations don't apply to third-party derivatives that don't include the non-free components, such as
Red Hat's trademarks.The pros of RHEL are the extensive support and available patches, upgrades, and solutions for
security vulnerabilities. The cons of RHEL are expensive training courses and the lack of personalized solutions.
Figure 16/Red Hat Enterprise Linux (RHEL)

- UNIX-Based Operating Systems

In the beginning, UNIX was a time-sharing operating system for small computers, and over time it has become one of
the most widespread client-server environment operating systems. The UNIX programming language is C, which
facilitated the creation of UNIX ports for many machines.

The pros of UNIX are a multi-user environment, built-in TCP/IP support, and a high level of stability and security. The
downside is that it is paid, and different vendors sell different UNIX versions, so there is no standard UNIX version.

Figure 17/UNIX-Based Operating Systems

- NetWare
Novell NetWare is a server-based network operating system that requires a dedicated server to function. It was a
widespread OS in early LANs.The pros of NetWare are its support for multiprocessors and large-capacity physical
memory management, as well as top-notch file sharing and printing functions in corporate networks. The OS also offers
a wide range of management interfaces, including a Web interface.

The cons are the price, poor support, a challenging installation process, and low third-party app support.

Figure 18/NetWare

- macOS Server

The macOS Server is a UNIX-like server operating system based on macOS, developed by Apple. The OS builds on top
of macOS and adds server functionality and system administration tools, as well as the tools to manage macOS and iOS
devices.

The macOS Server is a great choice if you use Mac clients in your network, considering its ability to create features for
Mac clients easily.

The macOS Server pros are easy administration, intuitive GUI, great support, and easy workload distribution across
multiple machines. Thus, it is easy to increase the processing power. The OS comes with an unlimited user license.
The cons are that macOS Server only runs on Apple hardware, which can be pricey, and there aren't many third-party
applications. Also, while Apple implements open-source software in its system, there are changes specific to macOS,
requiring working around some issues not present in Linux.

Figure 19/ macOS Server

- FreeBSD

FreeBSD is a free and open-source Unix-like operating system. The OS maintains a complete system, delivering the
kernel, drivers, utilities, and documentation, and includes an extensive server-related software collection. Thus,
FreeBSD is easily configured as a mail server, web server, firewall, etc.

FreeBSD has its security team that inspects all the software shipped with the base distribution and allows the installation
of third-party applications from binary packages.

The pros of FreeBSD are that it is fast, completely free, has good security that utilizes the ipfw firewall, and has a lot of
tools available and owned by the FreeBSD Team.

The cons of FreeBSD are that it is not very easy to learn since it has poorer community support than Linux and lacks
driver support.
Figure 20/FreeBSD

2.4 Web server software

There are several popular web server software options available, each with its own features and advantages. Some of the
most commonly used ones include:

Apache HTTP Server: Apache is one of the oldest and most widely used web servers. It's known for its stability,
flexibility, and extensibility. Apache is open-source and runs on most operating systems, including Unix-based systems
like Linux and BSD, as well as Windows.

Nginx (pronounced "engine-x"): Nginx is known for its high performance and scalability. It's often used as a reverse
proxy server, load balancer, and HTTP cache. Nginx is lightweight and efficient, making it popular for serving static
content and handling high-traffic websites.

Microsoft Internet Information Services (IIS): IIS is a web server software developed by Microsoft for use on Windows
servers. It's tightly integrated with other Microsoft technologies and is commonly used for hosting ASP.NET
applications and websites built with Microsoft technologies.

LiteSpeed Web Server: LiteSpeed is a high-performance web server that's designed to be a drop-in replacement for
Apache. It offers features like HTTP/3 support, built-in caching, and improved security. LiteSpeed is often used for
serving dynamic content and is known for its performance optimizations.
Caddy: Caddy is an open-source web server with automatic HTTPS encryption, HTTP/3 support, and easy configuration
using a Caddyfile. It's known for its simplicity and ease of use, making it a popular choice for developers who want a
straightforward web server setup.

OpenLiteSpeed: OpenLiteSpeed is the open-source version of LiteSpeed Web Server. It's designed to be lightweight and
efficient while still offering many of the features found in LiteSpeed. OpenLiteSpeed is often used for hosting websites
on virtual private servers (VPS) and cloud platforms.

Server operating systems facilitate the implementation of various server platforms, such as:

Web servers. A web server hosts programs and data, and responds to client requests for web pages or other web-based
services. Common web servers are Apache, Microsoft Internet Information Services (IIS), and Nginx.

Mail servers. A mail server allows users to forward and receive emails for and from their business and controls individual
email accounts based on a specific domain.

File servers. File sharing involves a joint storage point for a business to store documents or data - a network drive.

Database servers. Some server operating systems include database integration, which facilitates dynamic web page building
based on the database contents.

Application servers. Server operating systems must be able to run business-critical applications, whether that's a self-hosted
CRM or a SaaS. A server OS usually functions as a shared environment for various collaborative applications.

Print servers. Another feature that server operating systems facilitate is print sharing, allowing multiple machines to use a
single printer.
Figure 21/Web server software

2.5 Relationship between communication protocols, server hardware, operating systems and web server software
with regards to designing, publishing, and accessing a website.

The operating system serves as a bridge between hardware and software. It provides a layer of abstraction that allows
software to interact with hardware without needing to know the specific details of the underlying hardware architecture.

When a user interacts with a computer, the operating system coordinates the communication between hardware and
software. For example, when you open a word processing program, the OS manages the interaction between the program
and the keyboard, monitor, and storage devices.

The operating system manages hardware resources such as CPU, memory, disk space, and peripherals, allocating them to
different software processes as needed.

Software applications rely on the operating system to provide services such as file management, networking, and security.
The operating system abstracts these services, making them available to applications through standardized interfaces (APIs).

Hardware components are controlled and utilized by the operating system to execute software instructions efficiently. For
instance, the OS manages device drivers to facilitate communication between software and hardware devices.
Designing, publishing, and accessing a website involves a complex interplay between communication protocols, server
hardware, operating systems, and web server software. Here's how each component relates to the process:

Communication Protocols: Communication protocols define the rules and conventions for data exchange between
devices over a network. In the context of designing, publishing, and accessing a website, several protocols come into
play:

HTTP (Hypertext Transfer Protocol): The primary protocol used for transferring web content between a web server and
a web browser. HTTP governs how requests and responses are formatted and transmitted.

HTTPS (Hypertext Transfer Protocol Secure): An extension of HTTP that adds encryption using SSL/TLS protocols to
secure data transmission between the web server and the client's browser.

TCP/IP (Transmission Control Protocol/Internet Protocol): The foundational protocol suite of the internet, which enables
devices to communicate with each other over the internet. HTTP and HTTPS operate on top of TCP/IP.

DNS (Domain Name System): Translates domain names (e.g., www.example.com) into IP addresses, allowing browsers
to locate web servers on the internet.

Server Hardware: The server hardware refers to the physical components of the server that store, process, and deliver
website content to users' browsers. The choice of server hardware impacts the website's performance, scalability, and
reliability. Factors to consider include:

CPU (Central Processing Unit): Determines the server's processing power and ability to handle incoming requests.

RAM (Random Access Memory): Affects the server's ability to concurrently handle multiple requests and cache
frequently accessed data.

Storage (HDD/SSD): Determines the capacity and speed of data storage, impacting the website's loading times and
responsiveness.

Network Interface: Facilitates communication between the server and clients over the network, influencing data transfer
rates and network responsiveness.
Operating Systems: The operating system (OS) serves as the software foundation for managing server resources and
executing web server software. Common server operating systems include:

Linux (e.g., Ubuntu, CentOS): Widely used for web hosting due to its stability, security, and cost-effectiveness. Linux
distributions offer various flavors tailored for server environments.

Windows Server: Suitable for hosting websites built on Microsoft technologies (e.g., ASP.NET) and for organizations
with existing Windows-based infrastructure.

BSD (e.g., FreeBSD): Known for its reliability and security features, BSD variants are used in some web hosting
environments.

Others (e.g., Unix): Some specialized server environments may use Unix-based operating systems for hosting websites.

Web Server Software: Web server software handles incoming HTTP/HTTPS requests, processes them, and serves web
content to clients' browsers. The choice of web server software impacts performance, security, and compatibility with
web technologies. Popular web server software includes

Apache HTTP Server: An open-source web server known for its flexibility and extensibility. Apache is widely used and
supports various operating systems.

Nginx: A high-performance web server and reverse proxy known for its scalability and efficiency, making it suitable for
serving static and dynamic content.

Microsoft IIS (Internet Information Services): Designed for Windows servers, IIS is commonly used for hosting
websites built on Microsoft technologies, such as ASP.NET.

LiteSpeed Web Server: Known for its high performance and security features, LiteSpeed is often used as a drop-in
replacement for Apache in hosting environments.
3. DISCUSS THE CAPABILITIES AND RELATIONSHIPS BETWEEN FRONT-END AND BACK-END
WEBSITE TECHNOLOGIES AND EXPLAIN HOW THESE RELATE TO PRESENTATION AND
APPLICATION LAYERS
Static website:

Definition: A static website is a type of website created from fixed HTML files without dynamic content or changes based
on user actions.

Advantage: Fast page loading speed: Because content is created from fixed HTML files, page loading is often faster than
dynamic websites. Easy to maintain and manage: Since there are not many dynamic changes, maintaining and managing a
static website is often simpler. More secure: Because there is no dynamic software operating on the server, static websites
are often less susceptible to attacks.

Defect: Lack of interactivity: Because there is no dynamic content, static websites lack interactivity and the ability to
interact with users. Difficult to update: Updating content on static websites often requires direct intervention in the HTML
source code

Dynamic website:

Definition: A dynamic website is a type of website created using programming languages or content management systems
(CMS) to create dynamic content or interact with users.

Advantage: Highly interactive: Dynamic websites can create dynamic content and interact with users through forms,
databases, and other functions. Easy to update: With content management systems, updating content on dynamic websites is
often easier and does not require deep technical knowledge.

Defect: Slower page load speed: Due to having to create dynamic content on the server when requested, dynamic websites
can load pages slower than static websites. More complicated to manage: Because there are many dynamic elements,
managing and maintaining a dynamic website is often more complicated than a static website.
3.1 Front-end technologies such as HTML, CSS, JS… Give advantages and disadvantages
HTML (Hypertext Markup Language):

Advantages:

Structure: HTML provides the basic structure for web pages, defining elements like headings, paragraphs, lists, etc., making
it easier to organize content.

Accessibility: Well-structured HTML enhances accessibility for users with disabilities, as screen readers and other assistive
technologies rely on semantic markup.

SEO-Friendly: Search engines understand and index HTML content well, which can improve a website's visibility in search
engine results.

Compatibility: HTML is supported across all modern web browsers and devices, ensuring consistent rendering and
functionality.

Disadvantages:

Limited Styling: HTML alone lacks the ability to control the visual appearance of a webpage beyond basic structure.

Static Content: HTML is static by nature, meaning changes or interactions on the page require additional technologies like
CSS and JavaScript.

Browser Inconsistencies: While HTML itself is consistent, the way browsers interpret and render HTML can vary, leading
to cross-browser compatibility issues.

Semantic Challenges: Ensuring proper semantic markup can sometimes be challenging, especially for complex layouts or
non-standard components.
Figure 22/HTML

CSS (Cascading Style Sheets):

Advantages:

Styling Control: CSS allows for precise control over the visual presentation of HTML elements, including layout, colors,
fonts, and animations.

Separation of Concerns: CSS enables the separation of content (HTML) from presentation, promoting cleaner code and
easier maintenance.

Responsive Design: CSS provides features like media queries and flexbox/grid layouts, enabling developers to create
responsive and mobile-friendly designs.

Reusable Styles: CSS supports the creation of reusable stylesheets and classes, promoting consistency across a website.

Disadvantages:

Browser Compatibility: Similar to HTML, CSS can face inconsistencies across different browsers, requiring vendor
prefixes or workarounds for certain properties.
Specificity Issues: CSS specificity rules can lead to unintended styling conflicts and difficulty in troubleshooting.

Performance Impact: Poorly optimized CSS, such as excessive use of selectors or large file sizes, can negatively impact
page load times.

Learning Curve: Mastering CSS, especially for complex layouts and designs, can be challenging due to its extensive feature
set and quirks.

Figure 23/CSS

JavaScript (JS):

Advantages:

Interactivity: JavaScript enables dynamic and interactive web experiences by allowing developers to manipulate DOM
elements, handle events, and create animations.

Functionality: JS can be used to implement complex functionality such as form validation, client-side data processing, and
asynchronous requests (AJAX).

Libraries and Frameworks: JavaScript has a vast ecosystem of libraries (e.g., jQuery) and frameworks (e.g., React, Angular,
Vue.js) that streamline development and provide additional features.
Cross-platform Compatibility: With the rise of Node.js, JavaScript can now be used for both front-end and back-end
development, promoting code reuse and full-stack development.

Disadvantages:

Browser Support: While modern browsers have excellent JS support, older browsers may have limited capabilities or
performance issues, requiring polyfills or alternative solutions.

Security Risks: Client-side JavaScript is inherently exposed to security risks such as cross-site scripting (XSS) attacks if not
properly sanitized or validated.

Performance Concerns: Poorly optimized JavaScript code can lead to performance bottlenecks, especially on mobile devices
with limited resources.

Complexity: JavaScript development, especially with frameworks and libraries, can become complex and difficult to
maintain, requiring a solid understanding of programming concepts and best practices.

Figure 24/JavaScript (JS):


3.2 Back-end technologies such as .NET, PHP, Java, Python... Definition, uses, Give advantages and disadvantages
NET:

Definition: .NET is a framework developed by Microsoft for building web applications, mobile applications and web
services.

Uses: .NET is widely used in developing enterprise applications and web services on the Windows platform.

Advantage:

Provides high performance and good security.

There is a large community and diverse support from Microsoft.

Multi-language and cross-platform support (including Linux and macOS via .NET Core).

Defect:

Often closely associated with Microsoft products, which can create dependencies.

Licensing can be expensive for large enterprise applications.

Figure 25/Net

PHP:
Definition: PHP is a programming language commonly used for web development, especially for static and dynamic
websites.

Uses: PHP is suitable for developing web applications from personal websites to large-scale web services.

Advantage:

Easy to learn and deploy.

There is a large and diverse support from the PHP community.

Rich in frameworks such as Laravel, Symfony, Zend Framework, helping to speed up development.

Defect:

Security can be an issue if not managed carefully.

Performance is not optimal compared to some other technologies.

Figure 26/php

Java:

Definition: Java is a programming language and an integrated platform for application development and deployment.

Uses: Java is widely used in developing enterprise applications and web services.
Advantage:

High reliability and security.

Good scalability and high performance.

There is a large community and support from big companies like Oracle.

Defect:

May be more resource-intensive than some other languages.

Some limitations in development speed compared to languages like Python or Ruby.

Figure 27/java

Python:

Definition: Python is an interpreted and general-purpose programming language, widely used for web development, data
science, artificial intelligence, and many other purposes.

Uses: Python is suitable for developing web services, enterprise applications and artificial intelligence projects.

Advantage:
Easy to read and understand.

There is a large and rich community with diverse support from the open-source community.

There are many powerful frameworks like Django, and Flask for web development.

Defect:

Performance is not as optimized as compiled languages like C++ or Java.

Scalability is not good for applications that require massive parallel processing.

Figure 28/Python

3.3 Explain how these relate to presentation and application layers.


Front-end and back-end website technology are two important components of web development. They work together to
create a functional and visually appealing website. Front-end technology primarily focuses on the presentation layer of a
website, which includes the elements that users interact with directly. Some popular front-end technologies include HTML,
CSS, and JavaScript (JS).

HTML (Hypertext Markup Language) provides the structure and content of a web page. It identifies different elements of a
page, such as titles, paragraphs, images, links, and forms. HTML is the backbone of a website and is responsible for
organizing and presenting information.
CSS (Cascading Style Sheets) is used to control the layout, formatting, and appearance of HTML elements. It allows
developers to define styles such as color, font, size, margin, and position. CSS separates the visual presentation from the
content, making it easier to update and maintain a website's design.

JavaScript (JS) is a programming language that adds interactivity and dynamic behavior to web pages. It allows developers
to create interactive features such as form validation, animations, sliders, and other interactive elements. JS can manipulate
HTML and CSS elements on the page, making the website more attractive and responsive. Advantages of front-end
technology:

User Experience: Front-end technology allows developers to create visually appealing and user-friendly interfaces,
enhancing the overall user experience. 2. Cross-platform compatibility: HTML, CSS and JS are supported by all major web
browsers, ensuring that websites can be accessed and used across different devices and platforms. 3. Rapid development:
Front-end technologies provide frameworks and libraries that streamline development processes, allowing for faster
prototyping and iteration. 4. SEO Friendly: Properly structured HTML and CSS can improve search engine optimization
(SEO) by making a website moreaccessible to enginecrawlers search. Disadvantages of front-end technology:

Limited functionality: Front-end technologies mainly focus on the user interaction and presentation layer, and they have
limitations in terms of complex data processing and server-side operations. 2. Browser compatibility issues: Different web
browsers may interpret HTML, CSS, and JS code differently, causing inconsistencies in rendering and behavior. Developers
need to ensure cross-browser compatibility. 3. Security Vulnerabilities: Front-end technology alone cannot provide strong
security measures. Additional server-side security and authentication measures are required to protect sensitive data. On the
other hand, back-end technology handles the application layer of the website. They are responsible for processing data,
interacting with databases, and managing server-side operations. Back-end technology includes programming languages
such as Python, Ruby, Java, PHP and frameworks such as Django, Ruby on Rails and Node.js

3.4 Role of presentation and application layers


The OSI (Open Systems Interconnection) model is a reference model developed by the International Organization for
Standardization (ISO) in the 1980s to describe how computer network systems should interact with each other. This model
is divided into 7 layers, each layer has a specific function and interacts with other layers to provide comprehensive
communication services. Below is a list of the 7 layers of the OSI model:
Layer 1: Physical Layer: This layer determines the physical elements of data transmission through media, such as cables,
radio waves, or optical light.

Layer 2: Data Link Layer: This layer manages data transmission between devices in the same local network (LAN). It
ensures proper formatting, error checking, and concurrent access control.

Layer 3: Network Layer: This layer determines network addresses and routes data across the network. It controls the
transmission of data from source to destination, across different networks.

Layer 4: Transport Layer: This layer provides reliable and reliable transmission services between computers. It manages the
splitting of data into smaller pieces for transmission across the network and their reconstruction at the destination.

Layer 5: Session Layer: This layer manages and maintains communication sessions between applications on different
devices. It regulates the initiation, termination, and management of transmission sessions.

Layer 6: Presentation Layer: This layer is responsible for transforming data from the application's format into a format that
can be transmitted over the network and vice versa.

Layer 7: Application Layer: This layer provides network services for the final application. It is the interface layer between
the user and the network, allowing users to access services such as web, email, and FTP.

The presentation layer and the application layer are two essential components of the OSI (Open Systems Interconnection)
model, each with its own distinct roles in the process of communication between systems. Here's a breakdown of their roles:

 Presentation Layer:

The presentation layer is responsible for the formatting and representation of data to be transmitted between applications. It
ensures that data sent by the application layer of one system can be properly interpreted by the application layer of another
system.

Data Transformation: This layer may perform tasks such as data encryption, decryption, compression, and decompression to
ensure secure and efficient transmission of data.
Data Translation: It may also translate between different data formats, such as converting character encoding schemes or
transforming data into a standardized format for transmission.

Data Encryption: Encryption techniques may be applied at this layer to secure sensitive information during transmission
over networks.

Data Compression: Compression techniques reduce the size of data, optimizing bandwidth usage and improving
transmission efficiency.

 Application Layer:

The application layer is the topmost layer of the OSI model and is responsible for providing network services directly to
end-users or applications. It acts as the interface between the user and the underlying network infrastructure.

User Services: This layer provides various network services and protocols that applications can use to establish
communication, exchange data, and perform tasks over the network.

Application Protocols: It defines protocols specific to particular applications or services, such as HTTP for web
browsing, SMTP for email communication, FTP for file transfer, etc.

Data Exchange: The application layer manages the exchange of data between different applications running on different
systems across a network.

User Interface: It may also include user interfaces and application components that facilitate user interaction with
network services.

High-Level Abstraction: This layer abstracts lower-level network details, allowing applications to communicate without
needing to understand the complexities of network protocols and hardware.
3.5 How the Front-end and back-end website technologies relate to presentation and application layers in OSI
model
Front-end and back-end website technologies relate to the presentation and application layers of the OSI model in the
following ways:

Presentation Layer (Layer 6):

The presentation layer is responsible for data formatting, encryption/decryption, and data compression.

In the context of web development, front-end technologies often deal with the presentation layer. This includes HTML
for structuring web pages, CSS for styling, and JavaScript for adding interactivity. These technologies govern how data
is presented to the user, including its layout, appearance, and behavior.

Application Layer (Layer 7):

The application layer is the highest layer of the OSI model and deals with user interfaces, network protocols, and
application-level data exchange.

Back-end technologies are typically associated with the application layer. This includes server-side programming
languages (e.g., Python, Ruby, PHP, Java), frameworks (e.g., Django, Ruby on Rails, Laravel), and databases (e.g.,
MySQL, PostgreSQL, MongoDB). These technologies handle tasks such as user authentication, database interactions,
and business logic processing.

4. DISCUSS THE DIFFERENCES BETWEEN ONLINE WEBSITE CREATION TOOLS AND CUSTOM BUILT
SITES ABOUT DESIGN FLEXIBILITY, PERFORMANCE, FUNCTIONALITY, USER EXPERIENCE (UX),
AND USER INTERFACE (UI)

4.1 Some of the tools to create an online website


WordPress: WordPress is a powerful content management system (CMS) that powers millions of websites worldwide. It
offers a wide range of themes and plugins to customize your website's design and functionality. WordPress is known for
its user-friendly interface and flexibility, making it suitable for beginners and advanced users alike.
Wix.com: Wix is a popular website builder that allows users to create websites using a drag-and-drop interface. It offers
a variety of templates and customization options, making it easy to create professional-looking websites without any
coding knowledge. Wix also provides hosting services, domain registration, and other tools to help you manage your
online presence.

Joomla: Joomla is another open-source CMS that offers powerful features for building websites and online applications.
It's more complex than WordPress but provides greater flexibility and scalability. Joomla is suitable for users who have
some technical knowledge and want more control over their website's design and functionality.

Site Spinner: Site Spinner is a user-friendly website design tool that allows users to create websites using a visual
interface. It offers drag-and-drop functionality, pre-designed templates, and built-in tools for adding text, images, and
multimedia content. Site Spinner is suitable for beginners and small businesses who want to create simple websites
quickly.

Coffee Cup Free HTML Editor: Coffee Cup Free HTML Editor is a code editor that allows users to create and edit
HTML and CSS code. It offers syntax highlighting, code validation, and other features to help users write clean and
efficient code. Coffee Cup Free HTML Editor is suitable for web developers and designers who prefer to work with
code directly.

4.2 Discuss the differences between online website creation tools and custom-built sites with regard to design
flexibility, performance, functionality, User Experience (UX), and User Interface (UI).
When comparing online website builders to custom-built websites, there are some key differences to consider in terms of
design flexibility, performance, functionality, and user experience (UX). and user interface (UI). Let's explore each
aspect in detail:

 Flexibility in design:

Online website builders often offer pre-designed templates that users can customize to some degree. While they offer
many design
options, they can have limitations when it comes to layout, font selection, and overall visual customization. On the other
hand, custom-built websites offer complete design flexibility, allowing developers to create unique and tailored designs
that suit specific

branding requirements.

 Performance:

Custom-built websites can be optimized for better performance. Developers have full control over the code, allowing
them to optimize site speed, minimize unnecessary code, and improve overall performance. Online website builders can
have limitations in terms of performance optimization because they use a standardized method to create websites. This
can lead to slower load times and limited control over performance optimization.

 Function:

Custom-built websites have the advantage of being able to incorporate any desired functionality. Developers can
implement

complex and specific features, integrate with external systems, and create custom user interfaces. Online website
builders often have predefined functionality and may not support advanced features or integrations. While they can
provide basic functions like forms or e-commerce, they may lack the flexibility to handle complex requirements.

 User experience (UX):

Custom-built websites allow for a highly customized user experience. Developers can focus on optimizing the UX based
on the target audience, resulting in a seamless and intuitive interface. Online website builders often offer user-friendly
interfaces, but they may lack the ability to fine-tune the UX to suit specific requirements or user preferences.

 User interface (UI):

Custom-built websites offer complete control over user interface design. Designers can create unique interfaces,
implement custom animations, and optimize the user interface for different device types. Online website builders
typically provide a set of predefined user interface elements and styles, limiting the level of customization and
uniqueness in design.

4.3 Definition of UI, UX


UI: stands for User Interface, which refers to the visual elements, layout, and design of a digital product such as a
website, application, or software. UI design focuses on creating an intuitive, aesthetically pleasing interface that allows
users to interact with the product efficiently and effectively.UX: stands for User Experience, which encompasses the
overall experience a user has while interacting with a digital product. UX design involves understanding users' needs,
behaviors, and motivations to create a seamless, enjoyable experience. It encompasses aspects such as usability,
accessibility, and the emotional response elicited by the product.

Comparison criteria Online website creation tools Custom built sites


Flexibility Limited design flexibility due to Complete control over design, allowing
predefined templates and for highly tailored and unique design
customization options
Performance Performance may be affected during Can be optimized for performance based
high-traffic periods; generated code on specific needs, with efficient code and
may not be optimized optimization techniques
Functionality Offers a range of built-in features Can implement any desired
and plugins, but options for functionality, including complex features
advanced or specific functionalities and custom solutions
may be limited
User Experience (UX) UX is often constrained by platform Can create a completely tailored and
templates and design user-centric UX for seamless and
intuitive experiences
User Interface (UI) UI is based on predefined templates Can design a unique and visually
and design options appealing UI, considering user
interaction and visual elements

5. Evaluate the impact of common web development technologies and frameworks with regards to website design,
functionality and management(M1)

5.1 State the role of frameworks in website design and development [8]

A web development framework is a set of resources and tools for software developers to build and manage web
applications, web services and websites, as well as to develop application programming interfaces (APIs). Web
development frameworks are also referred to as web application frameworks or simply web frameworks.

Web development frameworks enable developers to build applications that can run on well-known technology stacks
such as the Linux, Apache, MySQL and PHP (LAMP) stack. Most frameworks provide a wide range of features and
functionality that help streamline application development. For example, they might include any of the following
components:

Application templates for presenting information within a browser.


Programming environment for scripting the flow of information.
APIs for accessing back-end data resources.
Code libraries with prebuilt components and code snippets.
Support for debugging, quality assurance (QA) testing and code reusability.

Organizations can choose from a wide range of web development frameworks -- each offering an assortment of
features -- giving development teams plenty of options from which to choose. Despite their differences, however,
most frameworks fall into one of two categories: those that target front-end development and those that target the
back end:

Front-end frameworks. Also called user-side or client-side frameworks, front-end frameworks focus on the user-
facing elements of a web application. They provide the components and templates necessary to render passive or
interactive webpages in a browser, using industry technologies such as HTML, CSS, JavaScript and jQuery.

Back-end frameworks. These frameworks, also called server-side frameworks, target the server and back-end
components that support a web application. They're responsible for mapping URLs, processing HTTP requests,
interfacing with data sources and supporting other back-end operations. Back-end frameworks use industry
technologies such as Python, PHP, .NET, Java and Ruby.

5.2. List a few frameworks for front end and back end

 Front End Frameworks:

React.js: A JavaScript library for building user interfaces, developed by Facebook.


Angular: A platform and framework for building single-page client applications using HTML and TypeScript,
developed by Google.
Vue.js: A progressive JavaScript framework for building interactive web interfaces, known for its simplicity and
flexibility.
Svelte: A radical new approach to building user interfaces. It shifts much of the work to compile time, producing
highly optimized vanilla JavaScript at the end.
Ember.js: A framework for building ambitious web applications. It provides a strong convention over configuration,
making it highly opinionated but also productive.
 Back End Frameworks:

Express.js: A minimal and flexible Node.js web application framework that provides a robust set of features for web
and mobile applications.
Django: A high-level Python web framework that encourages rapid development and clean, pragmatic design. It's
known for its "batteries-included" philosophy.
Flask: A lightweight Python web framework that's easy to get started with and allows developers the flexibility to
choose the components they want to use.
Ruby on Rails: A web application framework written in Ruby that follows the Model-View-Controller (MVC)
pattern and emphasizes convention over configuration.
Spring Boot: An opinionated framework for building production-ready Spring applications quickly and with minimal
configuration. It's based on the Java platform.

5.3. State at least the characteristics, advantages and disadvantages of 2 frameworks for front end and 2 frameworks
for back end

 front end
React.js:
Pros:
Virtual DOM: React's virtual DOM enables efficient updates to the UI by minimizing the number of DOM
manipulations, leading to better performance.
Component-Based Architecture: React follows a component-based architecture, promoting reusability, modularity, and
maintainability of code.
React Native: React's ecosystem includes React Native, which allows developers to build native mobile applications
using React syntax and components.
Large Ecosystem: React has a vast ecosystem with numerous libraries, tools, and community-driven resources, making it
easy to find solutions and support.
JSX: React's JSX syntax allows developers to write HTML-like code directly in JavaScript, facilitating easier creation
and management of UI components.
Cons:
Learning Curve: React has a relatively steep learning curve, especially for developers who are new to concepts like
virtual DOM and JSX.
Boilerplate Code: React often requires writing more code compared to other frameworks, particularly for tasks like state
management and routing.
Complex State Management: While React provides tools like Context API and Redux for state management, handling
complex state logic can sometimes be challenging.
Decision Fatigue: React's ecosystem offers many choices for libraries and tools, which can lead to decision fatigue and
make it harder for developers to choose the best options for their projects.
Poor Documentation: Some developers have criticized React's documentation for being fragmented and lacking
comprehensive examples, which can make it harder for beginners to learn.
Angular:
Pros:
Full-Featured: Angular is a full-fledged framework that provides comprehensive solutions for building complex single-
page applications, including features like routing, forms, HTTP client, and more out of the box.
Two-Way Data Binding: Angular's two-way data binding simplifies the synchronization of data between the model and
the view, reducing boilerplate code and making it easier to manage application state.
Dependency Injection: Angular's built-in dependency injection system promotes modular and testable code by
facilitating the separation of concerns and promoting code reusability.
TypeScript: Angular is built with TypeScript, a superset of JavaScript that adds static typing and other features for better
code organization, tooling, and maintainability.
Official Support: Angular is maintained by Google, which provides long-term support, regular updates, and extensive
documentation, giving developers confidence in the framework's stability and reliability.
Cons:
Steep Learning Curve: Angular has a steep learning curve, especially for developers who are new to TypeScript or the
concepts of reactive programming.
Complexity: Angular applications can become complex and verbose, leading to larger file sizes and slower performance
compared to lighter-weight frameworks.
Semantic Versioning: Angular's adoption of semantic versioning can lead to breaking changes between major releases,
requiring developers to stay up-to-date with the latest practices and migration guides.
Performance Overhead: Angular's comprehensive feature set and architecture can introduce performance overhead,
particularly for smaller or less complex applications.
Less Flexibility: Angular's opinionated approach and strong conventions may limit flexibility and customization options,
especially for developers who prefer more freedom in their architecture.

 back end
Express.js:
Pros:

Flexibility: Express.js is a minimalist framework for Node.js, allowing developers to have more control over the
architecture and components of their applications.
Performance: Being built on top of Node.js, Express.js is known for its high performance and scalability, particularly for
I/O-bound applications.
Middleware: Express.js makes extensive use of middleware, allowing developers to easily add functionality such as
authentication, logging, and error handling to their applications.
JavaScript Ecosystem: Leveraging the Node.js ecosystem, developers have access to a wide range of libraries and
modules on npm, enabling rapid development.

Cons:
Learning Curve: For developers unfamiliar with asynchronous programming and Node.js concepts, there can be a steep
learning curve when starting with Express.js.
Configuration Over Convention: Express.js doesn't enforce strict conventions like some other frameworks, which can
lead to inconsistencies and decision fatigue in larger projects.

Django:
Pros:

Batteries Included: Django follows the "batteries included" philosophy, providing a comprehensive set of features out of
the box, including an ORM, authentication, admin interface, and more, which can accelerate development.
High-Level Abstractions: Django abstracts away a lot of the lower-level details, allowing developers to focus more on
application logic rather than infrastructure.
ORM: Django's built-in Object-Relational Mapping (ORM) makes interacting with databases straightforward,
abstracting away SQL queries and providing an object-oriented interface.
Community and Ecosystem: Django has a large and active community, with a vast ecosystem of reusable apps, libraries,
and plugins available.
Cons:

Less Flexibility: While Django's conventions can accelerate development, they may also limit flexibility for developers
who require more customization or have specific architectural requirements.
Python Ecosystem: While Python has a rich ecosystem, it may not be as extensive for certain niche requirements as
Node.js/npm, which could require more custom development.
Performance: Django may not perform as well as some asynchronous frameworks like Express.js for handling
concurrent requests, particularly for CPU-bound tasks.

5.4. Choose the appropriate framework for the scenario and give reasons
For the scenario described, I would recommend using a presentation framework that allows for both engaging visuals
and technical depth. One suitable option is Google Slides.

Google Slides:
Reasons for Choosing Google Slides:

Accessibility: Google Slides is accessible to all team members with a Google account, allowing for easy collaboration
and sharing within the team.
Engaging Visuals: Google Slides offers a wide range of customization options for creating visually appealing slides,
including images, charts, diagrams, and animations, which can help in conveying complex technical concepts in an
engaging manner.
Integration with Google Services: Google Slides integrates seamlessly with other Google services such as Google Drive
and Google Workspace, facilitating easy access to resources and collaboration tools.
Real-time Collaboration: Multiple team members can collaborate on the presentation simultaneously, enabling real-time
feedback and updates
Easy Sharing: Google Slides presentations can be easily shared with team members for review and can also be exported
to different formats for offline use or presentation.
Presenter Notes: Google Slides allows presenters to add speaker notes, which can be helpful for guiding the presentation
and ensuring important points are covered.
Version History: Google Slides automatically saves version history, allowing for easy tracking of changes and the ability
to revert to previous versions if needed.

6. Review the influence of search engines on website performance and provide evidence-based support for improving
a site’s index value and rank through search engine optimization(M2)
6.1 SEO definition [6]

SEO stands for Search Engine Optimization, SEO means search engine optimization. This is a process that helps
websites rank higher on search results at search engines and receive more traffic from them, such as Google, Bing,
Yahoo,... These activities including optimizing page load speed, building website structure, creating links, and most
importantly, having useful content.
- SEO is also a component of SEM (Search Engine Marketing) - Marketing through search engines.
- The main goal of SEO is to improve position in search results, be ranked high by Google in SERPs, increase traffic,
and increase brand reputation. Thereby attracting potential customers and increasing revenue for the business.

6.2 The role of SEO [6]

Promote sales opportunities:


When a website is well optimized for search engines like Google, Bing or Yahoo, it is more likely to appear in organic
search results. This can increase your chances of attracting large amounts of traffic from potential, high-converting
users.
At the same time, it creates trust and reputation for businesses. Users often tend to trust and choose websites that appear
on the top of the search results page. Therefore, SEO optimization can help increase your ability to attract potential
customers and create sales opportunities.
In addition, SEO also helps improve user experience on the website. When a website is well optimized, it typically has
faster page load times, an easy-to-read and usable structure, and provides valuable content to users. This can increase the
conversion rate from visitors to customers.

Increase brand awareness:


When a user performs a search related to the industry, products or services the business offers, if the website appears
near the top of the search results page, it creates a positive impression and increases the likelihood Attract users to click
on your business website. This increases your chances of building brand awareness and generating traffic that can
convert into leads.
Additionally, using brand-related keywords in your SEO strategy can help strengthen the association between the brand
and that keyword. When users see a brand appear continuously in search results, they are more likely to remember and
perceive that brand. This contributes to building trust and long-term brand awareness.

Increase the reputation and reliability of the business:


SEO helps a business's website appear in a high position on search engines. This shows that the business is an expert in
its field and can provide useful information to customers. When a business appears in the top search results and is highly
rated, it builds trust and reputation with customers. This can increase brand value and attract users to come back again.

Cost savings:
SEO helps a business's website appear higher on natural search results (SERPs), thereby attracting more potential
customers to visit the website without having to pay for advertising. This helps businesses save significant marketing
costs.
Besides, SEO is a natural form of marketing and does not directly require online advertising costs such as advertising on
Google AdWords or social networks. Once a business has achieved a high search engine ranking, it can continue to
attract large amounts of traffic without the need for ongoing advertising costs.

Chasing customers:
SEO helps your website rank higher on search engines, which means it's easier for potential customers to find your
business when they search for related products or services. Accordingly, businesses can deploy a Remarketing strategy
to target audiences through SEO. For example, website visitors are in the Customer Journey funnel.

Long-term business strategy of the enterprise


SEO helps improve a website's position in organic search results, allowing businesses to reach more potential customers.
When a website appears high on the search results page, the possibility of receiving traffic from search users is great. A
website that ranks highly in search results is often considered more reputable and trustworthy in the eyes of users.
Appearing at the same time with other big brands in the industry also helps build the business's brand.
If you continuously optimize and improve the quality of your website, especially publishing quality and optimized
content, SEO will achieve stable and sustainable results. Once a sales page reaches the top position, and the page content
has been tailored to persuade customers to buy, within 3 months, 6 months, and even the next few years or more, the
page The web will continue to create value and bring orders to businesses. Any value created through SEO will be
accumulated and exist throughout the life of the website. The website needs to meet user requirements, provide valuable
content and be easy to use. This helps increase conversion rates from visits to customers.

6.3 Types of SEO: [6]


Search Engine Optimization (SEO) can be categorized into several types based on various aspects of optimization. Here
are some common types:

On-Page SEO: This type of SEO focuses on optimizing individual web pages to rank higher and earn more relevant
traffic in search engines. It involves optimizing elements such as title tags, meta descriptions, headers, content, URL
structure, image optimization, internal linking, and keyword usage.

Off-Page SEO: Off-page SEO refers to activities conducted outside of a website to improve its search engine rankings.
This includes backlink building, social media marketing, influencer outreach, guest blogging, and online reputation
management.

Technical SEO: Technical SEO involves optimizing the technical aspects of a website to improve its search engine
visibility. This includes optimizing website speed, mobile-friendliness, crawlability, site architecture, schema markup,
XML sitemaps, HTTPS implementation, and addressing issues like duplicate content and broken links.
Local SEO: Local SEO focuses on optimizing a website to rank better for local search results. It involves optimizing
Google My Business listings, local citations, online reviews, geo-targeted content, and ensuring consistency of NAP
(Name, Address, Phone Number) information across various online platforms.

Mobile SEO: With the increasing use of mobile devices, mobile SEO focuses on optimizing websites for mobile users.
This includes ensuring mobile responsiveness, fast loading times, mobile-friendly navigation, and optimizing for
mobile-specific search queries.

Voice Search SEO: Voice search optimization involves optimizing content to appear in voice search results. This
includes using conversational keywords, answering common questions concisely, optimizing for featured snippets, and
improving overall website authority.

E-commerce SEO: E-commerce SEO involves optimizing online stores to rank higher in search engine results pages
(SERPs) and attract more organic traffic. This includes optimizing product pages, category pages, improving site
structure, managing duplicate content, and optimizing for transactional keywords.

Video SEO: Video SEO focuses on optimizing video content to rank higher in search engine results. This includes
optimizing video titles, descriptions, tags, thumbnails, transcriptions, and engaging users with high-quality content.

International SEO: International SEO involves optimizing a website to rank better in different countries and languages.
This includes using hreflang tags, country-specific domain extensions, geotargeting, and optimizing content for local
languages and cultural preferences.

Enterprise SEO: Enterprise SEO focuses on optimizing large-scale websites with thousands or millions of pages. It
involves dealing with complex site structures, managing multiple languages and locations, coordinating with various
teams, and implementing scalable SEO strategies.
6.4 How search engine rankings are established

What is a search engine?


A search engine is an online application or service that helps users find information on the internet.
Search engines have the ability to collect and store information from billions of websites and display search results that
match the searched keywords.
With the development of technology and the internet, search engines play an important role in finding information and
accessing many products and services online. Some popular search engines in the world such as Google, Bing, Yandex,
Coc Coc...
In this article, I will focus on analyzing and providing examples related to a very popular search engine - Google.
The goal of this article is to help you better understand how this search engine works so that you can better understand
how to SEO your website to the top of Google, thereby contributing to promoting organic traffic to your website.
What is the purpose of search engines?
The main purpose of a search engine is to help users find and access information quickly and conveniently on the
internet.
To achieve this purpose, search engines use algorithms and various methods to crawl, classify and organize web pages
according to content priority and relevance to the keywords being searched. search.
Besides, search engines also provide users with useful tools such as search result filters, maps and related images to help
users find information accurately and quickly. best.
Search engines have two types of search results:
• Organic results from search index. You can't pay to be here.
• Paid results from advertisers. You can pay to be here.
Every time someone clicks on a paid search result, the advertiser pays the search engine. This is called pay-per-click
(PPC) advertising, and it's why market share matters.

More users means more ad clicks and more revenue.


Search engine rankings are determined by complex algorithms that analyze numerous factors to decide which web pages
are most relevant and authoritative for a given search query. While the exact algorithms used by search engines like
Google are proprietary and constantly evolving, there are several key factors that commonly influence search engine
rankings:

Relevance: Search engines aim to provide users with the most relevant results for their search queries. Relevance is
determined by factors such as keyword usage, content quality, and the overall theme of the webpage.

Content Quality: High-quality, informative, and engaging content tends to rank better in search engine results. Content
should be well-written, comprehensive, and provide value to users.

Keywords: Keywords are words or phrases that users type into search engines when looking for information.
Optimizing web pages for relevant keywords can improve their visibility in search results.

Backlinks: Backlinks, also known as inbound links, are links from other websites pointing to your site. Search engines
view backlinks as a vote of confidence in your content's quality and relevance. Quality and quantity of backlinks play a
significant role in determining search rankings.

User Experience (UX): Search engines prioritize websites that provide a positive user experience. Factors such as page
load speed, mobile-friendliness, ease of navigation, and low bounce rates contribute to better search engine rankings.

Technical Optimization: Technical aspects of a website, such as proper HTML markup, crawlability, site structure,
URL structure, schema markup, and XML sitemaps, impact search engine rankings.

Social Signals: While not as significant as other factors, social signals such as shares, likes, and comments on social
media platforms can indirectly influence search engine rankings by increasing visibility and traffic to your content.

Local Signals: For local businesses, factors such as Google My Business optimization, local citations, online reviews,
and proximity to the searcher's location play a crucial role in local search rankings.
Domain Authority: Domain authority refers to the overall strength and authority of a website's domain. Websites with
higher domain authority are more likely to rank well in search engine results.

Algorithm Updates: Search engines regularly update their algorithms to improve the quality of search results and
combat spammy tactics. Keeping up with these updates and adjusting your SEO strategies accordingly is essential for
maintaining search engine rankings.

6.5 SEO standard website design criteria

What is SEO standard web design?


A website is called SEO standard when it is designed with standard configuration and features so that the Google bot can
collect and understand website data. When Google understands your website well, they will prioritize ranking it high in
search results.
All websites designed with SEO standards have the opportunity to reach the top of search engines and this brings many
advantages to businesses.

 What are the elements that make up an SEO-standard web design?

Content
- Article title must be no more than 65 - 70 characters, attractive and include the main keyword.
- The description (meta description) is about 150 characters, short, attractive and must contain the main keyword.
- Keywords: Each article needs to ensure that the main keyword is repeated many times. However, depending on the
length of the article, you arrange the keyword density accordingly, so you should spread the keywords evenly. Besides
the main keyword, you can also intersperse secondary keywords.
- Article content must be fresh, absolutely not copied from other websites and updated with the most useful information
for users.
>>> When designing a standard SEO website (Seo web design) at Web4s, you will not need to be an SEO expert
because the website is automatically optimized by 4s's system for H1, H2, H3, title, meta description tags. ,...

URL
- URL is the address, the path to a website on the Internet.
- When the URL is optimized according to SEO standards, the website's ranking on search engines will be significantly
improved. Furthermore, a short, easy-to-remember link will effectively support users when searching.
- How to optimize SEO standard URLs:
+ The URL needs to be short, easy to understand and contain the main keyword.
+ Length does not exceed 96 characters, does not contain special characters and does not contain accents.
+ Use hyphen “-” to connect words.
+ Do not edit URLs multiple times in SEO standard website designs.

Quality backlinks
- Backlink is understood as a link pointing to your website from another website. This is an important factor in SEO to
help increase the reputation of the website and promote website rankings on Google.
- How to optimize backlinks for SEO standards:
+ Place link on home page.
+ Place links on websites with the same topic to reach a large number of potential customers and be easily appreciated
by Google.
+ Place links on reputable websites with high traffic.

W3C standard web design


W3C = "World Wide Web Consotirum" (standard measure for SEO standard web design), a website that meets W3C
standards will bring many advantages to businesses:
- W3C helps your website stay Google-friendly and highly appreciated by this tool.
- Website data loading speed becomes faster.
- The website will be easy to upgrade/repair.
- Website is easily displayed on any mobile device.

SEO standard images


Besides text, images are also one of the factors that help a website become attractive to users, friendly to search engines
and effectively support the website SEO process.
- To optimize images for SEO standard web design, you need to pay attention to reducing image size/capacity to not
slow down web loading speed; Name and tag Alt (the text displayed when you move the mouse to the image) according
to SEO standards for each image.

Web loading speed


Website data loading speed significantly affects user experience as well as Google's evaluation results for the website.
Therefore, when designing a website with SEO standards, you need to pay special attention to web speed to help your
website rank on search engines.

6.6 The influence of search engines on website performance (Analyze ranking factors that affect website
performance and how page loading speed affects SEO)

Improving page loading speed is a task that almost everyone wants to achieve the best results because you know that page
loading speed is an important factor that greatly affects user experience and website performance. So how does this factor
affect the website? 123HOST invites you to follow the following article.
Make a great first impression
A website with a fast loading speed will create a good impression on users when they visit the website for the first time.
Users will feel comfortable and have the effect of continuing to access more information and products on the website.
Retain visitors longer
When a website has a fast page loading speed, users will automatically enjoy accessing many other websites on your
website and this helps reduce the bounce rate, meaning users can easily stay on your website. instead of leaving due to long
waits or lack of interaction.
Improve SEO quality
It is undeniable that page loading speed greatly affects your website's ranking on search engines. Search engines like Google
will favor websites that load faster and this will help your website rank increase and at the same time increase your
accessibility to customers.
In addition, business revenue also increases because users are often able to shop or perform targeted actions faster on the
website quickly.
Reduce server load
A website with good loading speed will help reduce the load on your server, helping to avoid overload, thereby giving you
more peace of mind in operating the website as well as that website hosting service.
Conclude
Improving page load speed is extremely necessary, you can do it in many different ways, including optimizing images,
source code, using CDN content delivery network and using efficient servers. High.

6.7 Provide examples demonstrating how to improve search rankings through SEO

Certainly! Here are some examples demonstrating how to improve search engine rankings through SEO:

Keyword Optimization:
Identify relevant keywords related to your business or content.
Use these keywords strategically in page titles, meta descriptions, headers, and throughout the content.
Example: If you're a bakery in San Francisco, optimize your website for keywords like "best bakery in San Francisco,"
"artisan bread San Francisco," etc.

Quality Content Creation:


Create high-quality, informative, and engaging content that addresses the needs and interests of your target audience.
Regularly update your website with fresh content to keep it relevant and attract more visitors.
Example: Write blog posts about baking tips, recipes, behind-the-scenes stories of your bakery, and local food events in San
Francisco.

Backlink Building:
Reach out to relevant websites, blogs, and influencers in your industry to earn backlinks to your website.
Focus on acquiring backlinks from authoritative and reputable sources to boost your website's credibility.
Example: Collaborate with local food bloggers or partner with nearby businesses to host joint events and get backlinks from
their websites.

Technical SEO Optimization:


Ensure your website is technically optimized for search engines by optimizing page load speed, improving mobile-
friendliness, fixing broken links, and implementing proper HTML markup.
Use tools like Google Search Console to identify and fix technical issues that may impact your search rankings.
Example: Use a responsive web design to ensure your website looks and performs well on various devices and screen sizes.

Local SEO:
Optimize your Google My Business listing with accurate business information, photos, reviews, and regular updates.
Encourage satisfied customers to leave positive reviews on Google and other relevant review platforms.
Example: Include location-specific keywords in your website content, such as "best bakery in San Francisco's Mission
District," and optimize your Google My Business profile accordingly.
Social Media Engagement:

Build a strong presence on social media platforms relevant to your business.


Share your content, engage with your audience, and encourage social sharing to increase visibility and drive traffic to your
website.
Example: Share photos of your bakery's delicious creations on Instagram, run promotions on Facebook, and engage with
followers on Twitter.

Monitor and Analyze Performance:


Use tools like Google Analytics to track website traffic, user behavior, and conversion metrics.
Analyze the data regularly to identify areas for improvement and adjust your SEO strategies accordingly.
Example: Monitor organic search traffic, keyword rankings, and conversion rates to measure the effectiveness of your SEO
efforts and make data-driven decisions.
By implementing these SEO strategies and continuously refining your approach based on performance data, you can
improve your website's search engine rankings and attract more organic traffic over time.

7. Evaluate a range of tools and techniques available to design and develop a custom built website

 About the tool: State the advantages and disadvantages of the IDE

Visual Studio:
Advantages:

Rich Feature Set: Visual Studio offers a comprehensive set of features for various types of development, including .NET
development, web development, and more.
Integration: It seamlessly integrates with other Microsoft services and platforms, such as Azure, making it convenient
for developers in the Microsoft ecosystem.
Debugging Tools: Visual Studio provides robust debugging tools that allow developers to debug code efficiently.
Large Ecosystem: There is a vast ecosystem of extensions and plugins available for Visual Studio, allowing developers
to customize their development environment to suit their needs.
Disadvantages:
Resource Intensive: Visual Studio can be resource-intensive, especially for larger projects, which may require powerful
hardware to run smoothly.
Cost: While there is a free version (Visual Studio Community), the full-featured versions of Visual Studio can be
expensive, especially for individual developers or small teams.
Steep Learning Curve: Due to its extensive feature set, Visual Studio can have a steep learning curve for beginners.

Visual Studio Code:


Advantages:

Lightweight: VS Code is much lighter compared to Visual Studio, making it faster and more responsive, even on less
powerful hardware.
Extensibility: Like Visual Studio, VS Code has a vast array of extensions available, allowing developers to customize
their IDE to their liking.
Cross-Platform: VS Code is available on Windows, macOS, and Linux, making it an excellent choice for developers
working across different operating systems.
Integrated Terminal: VS Code comes with an integrated terminal, which allows developers to run commands and scripts
without leaving the IDE.
Disadvantages:

Less Feature-rich: Compared to Visual Studio, VS Code may lack some advanced features, particularly for specific
types of development such as .NET development.
Not as Integrated: While VS Code offers integration with various services and platforms, it may not be as tightly
integrated with the Microsoft ecosystem as Visual Studio

Sublime Text:
Advantages:

Speed: Sublime Text is known for its speed and responsiveness, even when handling large files or projects.
Extensibility: Like other IDEs, Sublime Text supports plugins and extensions, allowing users to extend its functionality
as needed.
Cross-Platform: Sublime Text is available on Windows, macOS, and Linux, making it suitable for developers working
on different platforms.
Disadvantages:

Limited Features: Compared to full-fledged IDEs like Visual Studio or even VS Code, Sublime Text may lack some
advanced features out-of-the-box.
Paid License: While Sublime Text offers an unlimited trial version, users are expected to purchase a license for
continued use, which may be a drawback for some developers.

Source Control:
Advantages:

Version Control: Source control systems like Git enable developers to track changes to their codebase, making
collaboration easier and facilitating rollbacks if needed.
Branching and Merging: Git allows developers to work on separate branches and merge changes back into the main
codebase seamlessly.
Distributed: Git is a distributed version control system, meaning every developer has a full copy of the repository,
enhancing resilience and enabling offline work.
Community Support: Git has a large and active community, with plenty of resources and documentation available for
users.
Disadvantages:

Learning Curve: Git can have a steep learning curve, especially for beginners or those unfamiliar with version control
concepts.
Complexity: While Git's flexibility is one of its strengths, it can also lead to complexity, especially when dealing with
more advanced features like rebasing or resolving merge conflicts.
Database Management Tools:
Advantages:

Database Visualization: Database management tools provide visual interfaces for managing and interacting with
databases, making it easier to understand the database schema and relationships.
Query Building: These tools often include query builders or wizards that assist developers in writing and executing SQL
queries without needing to remember syntax.
Performance Monitoring: Many database management tools offer performance monitoring and optimization features,
allowing developers to identify and address performance bottlenecks.
Integration: These tools often integrate with other development tools and IDEs, allowing for a seamless workflow.
Disadvantages:

Resource Intensive: Some database management tools can be resource-intensive, especially when working with large
databases.
Cost: While there are free options available, some database management tools may require a paid license for full
functionality, which can be a drawback for smaller teams or individual developers.
Platform Specific: Many database management tools are specific to a particular database system (e.g., SQL Server
Management Studio for Microsoft SQL Server), limiting their usefulness for developers working with multiple database
platforms
 About techniques: State the advantages and disadvantages of development languages

PHP:
Advantages:

Ease of Use: PHP is relatively easy to learn and use, especially for beginners. Its syntax is straightforward and similar to
other languages like C and Perl.
Large Community: PHP has a vast and active community of developers, which means plenty of resources, libraries, and
frameworks are available for support and collaboration.
Open Source: PHP is open source, meaning it's free to use and has a wealth of open-source projects, tools, and platforms
built around it.
Web Development: PHP is primarily used for web development, and it excels in this area with frameworks like Laravel,
Symfony, and WordPress, making it easy to build dynamic and interactive websites.
Disadvantages:

Inconsistent Syntax: PHP has inconsistencies in its function names and parameter orders, which can lead to confusion
and errors, especially for developers coming from more structured languages.
Security Concerns: Historically, PHP has had security issues due to its flexibility and ease of use, making it prone to
vulnerabilities if not handled carefully.
Performance: While PHP has improved over the years, it's generally slower compared to compiled languages like Java
or C#. Performance can become an issue for high-traffic websites or applications with complex logic.
Lack of Strong Typing: PHP is weakly typed, meaning variable types are not strictly enforced, which can lead to bugs
and errors that might be caught at compile time in other languages.

Java:
Advantages:

Platform Independence: Java applications can run on any device that has a Java Virtual Machine (JVM), making it
highly portable and platform-independent.
Strong Ecosystem: Java has a robust ecosystem with a vast array of libraries, frameworks (like Spring and Hibernate),
and tools that simplify development tasks.
Scalability: Java is known for its scalability, making it suitable for large-scale enterprise applications and systems.
Concurrency: Java provides built-in support for multi-threading and concurrency, allowing developers to write efficient
and responsive applications.
Disadvantages:

Verbose Syntax: Java's syntax can be verbose and boilerplate-heavy, leading to more lines of code compared to other
languages like Python or JavaScript.
Memory Consumption: Java applications can be memory-intensive, especially when running multiple instances on a
server, which may require additional hardware resources.
Slower Startup Time: Java applications often have a slower startup time compared to languages like PHP or Node.js,
which can impact the user experience for small, short-lived applications.
Garbage Collection Overhead: Java's automatic garbage collection mechanism can sometimes introduce performance
overhead, particularly in real-time or latency-sensitive applications.

C#:
Advantages:

Integration with .NET Framework: C# is tightly integrated with the .NET Framework, which provides a vast array of
libraries and tools for building various types of applications, including web, desktop, mobile, and cloud-based
applications.
Strongly Typed: C# is a strongly typed language, which helps catch errors at compile time and makes code more reliable
and maintainable.
Modern Language Features: C# regularly introduces modern language features such as async/await, LINQ, and pattern
matching, making development more efficient and productive.
Windows Ecosystem: C# is particularly well-suited for Windows development, with strong support for Windows-
specific features and APIs.
Disadvantages:

Windows-Centric: While C# can be used for cross-platform development with .NET Core, its ecosystem and tooling are
still primarily focused on Windows, which may limit its appeal for developers targeting other platforms.
Learning Curve: C# may have a steeper learning curve compared to languages like Python or JavaScript, especially for
beginners.
Vendor Lock-in: While .NET Core has made strides in becoming more cross-platform and open-source, the ecosystem
still has ties to Microsoft, which may be a concern for some developers.
Performance Overhead: While C# offers excellent performance, especially when compared to interpreted languages like
PHP, it may still have more overhead compared to lower-level languages like C or C++.

 State the advantages and disadvantages of frameworks

ASP.NET:
Advantages:
Robust framework for building web applications, especially for Windows environments.
Integrated with Visual Studio IDE, providing extensive development tools and debugging capabilities.
Excellent support for enterprise-level security features.
Seamless integration with other Microsoft technologies such as Azure for cloud deployment.
Disadvantages:
Limited cross-platform support compared to other frameworks.
Requires hosting on Windows servers, which may lead to higher hosting costs.
Can have a steeper learning curve for developers new to the Microsoft ecosystem.

Laravel:
Advantages:
Elegant syntax and extensive documentation make it beginner-friendly.
Powerful ORM (Object-Relational Mapping) system simplifies database interactions.
Built-in features like authentication, caching, and session management accelerate development.
Active community support and a vast ecosystem of packages (via Composer) extend its functionality.
Disadvantages:
Performance can be a concern for very high traffic applications compared to more lightweight frameworks.
Dependency on third-party packages can sometimes lead to compatibility issues.
Upgrades between major versions may require significant code changes.
Spring Hibernate:
Advantages:
Spring provides comprehensive infrastructure support, including dependency injection and aspect-oriented
programming, enhancing modularity and testability.
Hibernate simplifies database interactions through object-relational mapping, reducing the need for low-level SQL
queries.
Strong community support and extensive documentation.
Supports integration with other Spring modules for broader functionality.
Disadvantages:
Steeper learning curve compared to simpler frameworks due to its comprehensive feature set.
Configuration can be complex, especially for beginners.
Performance overhead compared to lightweight frameworks due to its extensive features.

 State the advantages and disadvantages of database servers

MySQL:
Advantages:

Open-source: MySQL is freely available for use, making it a cost-effective option for small to medium-sized businesses.
Wide adoption: MySQL is one of the most popular relational database management systems (RDBMS), with a large
community of users and developers providing support and resources.
Compatibility: MySQL is compatible with various operating systems, including Linux, Windows, and macOS, making it
versatile for different environments.
Performance: MySQL is known for its fast performance, especially for read-heavy workloads.
Scalability: MySQL can handle large amounts of data and can be scaled horizontally by adding more servers.
Disadvantages:

Limited features: Compared to some other RDBMS like SQL Server, MySQL may have fewer advanced features and
functionalities.
Reliability: While MySQL is generally reliable, it may not offer the same level of robustness and high availability
features as some other RDBMS.
Support: While there is a large community of MySQL users, professional support may not be as comprehensive or
readily available compared to commercial RDBMS solutions.

SQL Server:
Advantages:

Comprehensive feature set: SQL Server offers a wide range of features, including advanced analytics, business
intelligence, and integration services.
Integration with Microsoft ecosystem: SQL Server integrates well with other Microsoft products and technologies,
providing seamless interoperability within the Microsoft ecosystem.
Robustness: SQL Server is known for its reliability, security, and high availability features, making it suitable for
enterprise-level applications.
Performance optimization: SQL Server includes tools and features for performance monitoring, tuning, and
optimization, helping to ensure efficient database operations.
Support: SQL Server is backed by Microsoft's extensive support network, providing access to documentation, training,
and professional support services.
Disadvantages:

Cost: SQL Server is a commercial product, so licensing and support costs can be significant, particularly for large-scale
deployments.
Platform dependency: SQL Server primarily runs on Windows operating systems, which may limit deployment options
for organizations using other operating systems.
Complexity: SQL Server can be complex to set up and manage, especially for inexperienced users or small businesses
with limited IT resources.

MongoDB:
Advantages:

NoSQL flexibility: MongoDB is a document-oriented NoSQL database, providing flexibility in schema design and data
modeling, making it suitable for agile development and evolving data requirements.
Scalability: MongoDB is designed for horizontal scalability, allowing it to handle large volumes of data and high-
throughput workloads.
Performance: MongoDB's flexible document model and efficient indexing capabilities contribute to its fast performance,
particularly for read and write operations.
Replication and sharding: MongoDB supports automatic replication and sharding, enhancing data availability, fault
tolerance, and scalability.
Community support: MongoDB has a large and active community, providing resources, documentation, and support for
users.
Disadvantages:

Learning curve: MongoDB's document-oriented approach and query language may require a learning curve for users
accustomed to relational databases and SQL.
Data consistency: MongoDB sacrifices some aspects of ACID (Atomicity, Consistency, Isolation, Durability) properties
in favor of scalability and performance, which may lead to eventual consistency issues in certain scenarios.
Tooling: While MongoDB offers a range of tools and utilities, its ecosystem may not be as mature or comprehensive as
some relational databases like MySQL or SQL Server.
Transactions: MongoDB's support for multi-document transactions was introduced in later versions and may not be as
robust or mature as in traditional RDBMS.
Indexing challenges: Improper indexing can impact MongoDB's performance, and designing efficient indexes for
complex queries can be challenging compared to traditional RDBMS.
III. Reference list
References

[1].
cloudflare, 2024. cloudflare. [Online]
Available at: https://www.cloudflare.com/learning/dns/glossary/what-is-a-domain-name/
[Accessed 2024].

[2]. cloudflare, 2024. cloudflare. [Online]


Available at: https://www.cloudflare.com/learning/dns/what-is-dns/
[Accessed 2024].

[3]. Copyright, 2020. n6cloud. [Online]


Available at: https://n6cloud.com/blog/server-hardware/
[Accessed 2024].

[4]. domain, 2024. domain. [Online]


Available at: https://www.domain.com/help/article/what-is-dns-record?
utm_campaign=dynamic_PPC&utm_source=googleads&utm_medium=genericsearch&channelid=P13C46098636S570N0B5578A30D4499E0000V
110&gad_source=1&gclid=CjwKCAiA8sauBhB3EiwAruTRJjmS5EBwdTsTAQso9uOnazJm3rS42oD8rxj
[Accessed 2024].

[5]. emailhosting, 2024. emailhosting. [Online]


Available at: https://www.emailhosting.com/service/index.php?rp=/knowledgebase/5/How-Domain-Names-are-Organized-and-Managed.html
[Accessed 2024].

[6]. pace.edu, 2024. pace.edu. [Online]


Available at: https://www.pace.edu.vn/tin-kho-tri-thuc/seo-la-gi#seo-la-gi
[Accessed 2024].
[7]. phoenixnap, 2022. phoenixnap. [Online]
Available at: https://phoenixnap.com/kb/server-operating-system
[Accessed 2024].

[8]. Sheldon, R., 2023. techtarget. [Online]


Available at: https://www.techtarget.com/searchcontentmanagement/definition/web-development-framework-WDF#:~:text=Web
%20development%20frameworks%20speed%20up,significantly%20reduce%20overall%20development%20costs.
[Accessed 2024].

[9]. thegioididong, 2024. thegioididong. [Online]


Available at: https://www.thegioididong.com/game-app/phan-cung-may-tinh-la-gi-chi-tiet-cac-bo-phan-trong-phan-cung-1439904#subqmenu1
[Accessed 2024].

[10] .ukessays, 2020. ukessays. [Online]


Available at: https://www.ukessays.com/essays/information-systems/purpose-and-types-of-dns-2.php
[Accessed 2024].

You might also like