Web Server Software and Front-End Technologies, Exercises of Software Development

An overview of web server software, including different types of web servers, their primary functions, and the communication protocols they use. It also discusses front-end development, which focuses on creating the user-facing aspects of a website or application. Topics such as the role of databases in web development, the differences between relational and non-relational databases, and the use of object-oriented and graph databases. Additionally, it touches on the publishing process, where users can create and modify content using approved templates. Overall, this document offers a comprehensive understanding of the technologies and concepts involved in web development, from the server-side to the client-side.

Typology: Exercises

2021/2022

Uploaded on 02/21/2023

boom-banhbeo
boom-banhbeo 🇻🇳

1 document

1 / 34

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ASSIGNMENT 1 FRONT SHEET
Qualification BTEC Level 5 HND Diploma in Computing
Unit number and title 10: Website Design & Development
Submission date Date Received 1st submission
Re-submission Date Date Received 2nd submission
Student Name Nguyen Van Thang Student ID GCH211384
Class GCH1105 Assessor name Lai Manh Dung
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 Thang
Grading grid
P1 P2 P3 P4 M1 M2 M3 D1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Partial preview of the text

Download Web Server Software and Front-End Technologies and more Exercises Software Development in PDF only on Docsity!

ASSIGNMENT 1 FRONT SHEET

Qualification BTEC Level 5 HND Diploma in Computing Unit number and title 10: Website Design & Development Submission date Date Received 1st submission Re-submission Date Date Received 2nd submission Student Name Nguyen Van Thang Student ID GCH Class GCH1105 Assessor name Lai Manh Dung 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 Thang Grading grid P1 P2 P3 P4 M1 M2 M3 D

❒ Summative Feedback: ❒ Resubmission Feedback:

Grade: Assessor Signature: Date: Signature & Date:

  • I. Domain name system (DNS)................................................................................................................................................................................................... - 1. Definition of DNS.................................................................................................................................................................................................................... - 2. Purpose of DNS....................................................................................................................................................................................................................... - 3. Types of DNS Sever............................................................................................................................................................................................................... - 4. How domain names are organized and managed..................................................................................................................................................... - 5. Communication protocols.................................................................................................................................................................................................. - 6. Server hardware.................................................................................................................................................................................................................. - 7. Operating systems.............................................................................................................................................................................................................. - 8. Web Server............................................................................................................................................................................................................................. - 9. Explain the relationship between technologies above with regards to designing, publishing, and accessing a website.........
      1. Evaluate technical notes on all of the topics above.............................................................................................................................................
        • II. Website technologies, tools and software................................................................................................................................................................
          1. The capabilities and relationships between front-end and back-end website technologies...............................................................
          1. Explain how these relate to presentation and application layers...................................................................................................................
          1. Review Front End technologies....................................................................................................................................................................................
          1. Review Back End technologies......................................................................................................................................................................................
          1. Review Databases...............................................................................................................................................................................................................
          1. Review IDEs..........................................................................................................................................................................................................................
          1. Review CMS...........................................................................................................................................................................................................................
          1. Review Website Builders.................................................................................................................................................................................................
  • Figure 1: Recursive server............................................................................................................................................................................................ Table of Figure
  • Figure 2: Root nameserver...........................................................................................................................................................................................
  • Figure 3: TLD server.....................................................................................................................................................................................................
  • Figure 4: Authoritative name server............................................................................................................................................................................
  • Figure 5: Communication protocols.............................................................................................................................................................................
  • Figure 6: Server Hardware.........................................................................................................................................................................................
  • Figure 7: Tower Server...............................................................................................................................................................................................
  • Figure 8: Rack Server.................................................................................................................................................................................................
  • Figure 9: Blade Server................................................................................................................................................................................................
  • Figure 10: Mainframe................................................................................................................................................................................................
  • Figure 11: Web server software.................................................................................................................................................................................
  • Figure 12: Front End..................................................................................................................................................................................................
  • Figure 13: Back End....................................................................................................................................................................................................
  • Figure 14: Databases..................................................................................................................................................................................................
  • Figure 15: Relational database...................................................................................................................................................................................
  • Figure 16: Distributed databases...............................................................................................................................................................................
  • Figure 17: Cloud databases........................................................................................................................................................................................
  • Figure 18: NoSQL Databases......................................................................................................................................................................................
  • Figure 19: Object-oriented databases........................................................................................................................................................................
  • Figure 20: Graph databases.......................................................................................................................................................................................
  • Figure 21: IDEs...........................................................................................................................................................................................................
  • Figure 22: CMS...........................................................................................................................................................................................................

I. Domain name system (DNS)

1. Definition of DNS

A browser may find the correct IP address that goes with a hostname URL by using the DNS, which is a database of the domain name and IP address records. We often enter a website's domain name into the web browser to visit it. For instance, a server in the background transfers a user's typing of "example.com" into a web browser to the associated IP address. 203.0.113.72 is comparable to an IP address in structure. On the other hand, web browsers need IP addresses to load website content. Domain names must be translated into IP addresses by the DNS for resources to be loaded from the website's server. Websites might have several IP addresses that all point to the same domain name. People from all over the world will request a server from large websites like Google. The server that a computer in Singapore attempts to query will very likely be different from the one that a computer in Toronto attempts to visit, even though the site name entered into the browser is the same. Here, DNS caching is relevant. (John B, 2021)

2. Purpose of DNS

The Domain Name System (DNS) Server is a server that links Internet Protocol (IP) addresses to website hostnames, such as example.com. The public IP addresses and the domain names that go with them are kept in a database by the DNS server. Every equipment connected to the internet has a distinct IP address that aids in identification, according to the IPv4 or IPV6 protocols. For web servers, which serve as the hosts for websites, the same holds true. By automatically converting the domain names we type into the browser address bar into these numbers, DNS servers help us avoid memorizing such long numbers as IP addresses (and even more complicated alphanumeric ones in the IPV6 system), allowing the servers to load the proper web pages. (John B, 2021)

Figure 2 : Root nameserver  TLD server: A TLD nameserver keeps track of data for all domain names that have the same domain extension, such as.com, .net, or whatever follows the last dot in a URL. For instance, a.com TLD nameserver stores data for each website whose domain name ends in.com. A recursive resolver would send a query to a.com TLD nameserver in the case of a user searching for google.com after obtaining a response from a root nameserver, and that nameserver would answer by pointing to the authoritative nameserver (see below) for that domain. Figure 3 : TLD server

 Authoritative name server: The authoritative name server serves as the DNS query's last safeguard. These servers manage the subdomain portion of the domain name and are completely knowledgeable about a certain domain. These servers hold DNS resource entries, such as the A record, that provide detailed information about a domain. They deliver the required record to the recursive server, which then sends it back to the client and caches it nearby for later lookups. Figure 4 : Authoritative name server

4. How domain names are organized and managed

Domain names are organized using subdomains, which are layers beneath the root domain of the Domain Name System. Top- level domains (TLDs), which include generic top-level domains (gTLDs) like ".com," ".net," and ".org," as well as country code top-level domains, are the initial group of domain names (ccTLDs). The ccTLDs, such as.fr or.au, are shown to the right of the dot in the cases of google.fr and google.com.au. Top-level domains in the DNS system are second- and third-level domain names like Domain Tools or Google. These domains are frequently available for end users to reserve to host websites, create publicly accessible Internet resources, and connect the Internet to local area networks. Third-level domains often lead to a

Communication protocols are rulesets that, as was already mentioned, make it easier for various network devices to communicate. These protocols are used for many different things, including file transfers, process automation, text-based communications, internet access, etc. (intrado.com, 2017) Common communication protocols include:  TCP (Transmission Control Protocol) : creates a connection between computers so that data can be transmitted. It separates data into packets and makes sure that the data transmission is successful.  IP (Internet Protocol) : data packets are routed during Internet transmission to ensure they reach the intended recipient.  HTTP (Hyper Text Transfer Protocol) : enables information exchange (mostly in the form of hypertext) across the Internet.  FTP (File Transfer Protocol) : enables file exchange across the Internet  WAP (Wireless Application Protocol) : permits wireless devices, such mobile phones, to share information.  Transmission Control Protocol (TCP) : used for data transmission.

6. Server hardware

 Definition of Server hardware: In a local area network, server hardware refers to computer hardware that is supplied by Central Square on which the licensed software has been installed by Central Square. The server hardware also runs administrative software that manages access to all or some of the network's resources and makes them accessible to computers acting as workstations on the network. (n6host, 2020)

Figure 6 : Server Hardware

 Different server hardware configurations also facilitate the implementation of disaster recovery plans and the

archiving of user and system data. Additionally, administrators can more readily guarantee the dependability and accessibility of data by clustering servers or adding redundancies to system components. Additionally, the consolidated approach enables the centralization of other management tasks including workstation upkeep, domain administration, and software monitoring. These are server hardware examples:

  • Tower servers : Tower servers are independent, upright cabinets. They resemble tower-style PCs quite a bit. Tower-shaped servers have a low component density, making them simple to cool. On the other side, these servers are also affordable. As a result, tower servers and tower server hardware are excellent choices for small enterprises worldwide. They are within your limited spending power. The fact that these servers would need more space than ordinary servers must nevertheless be kept in mind.
  • Blade servers : Blade servers are small and have several thin, modular circuit boards within. Each blade is constructed from one server. Only one application is running on this server at a time. Blade servers are dedicated, giving its administrators better control over how users can access them and move data across other devices. A great choice for tasks requiring a higher CPU density is blade servers. However, blade servers are more affordable and provide superior performance. Additionally, blade servers come with built-in cooling. As a result, you need not worry about creating a method to cool them down. Consolidating storage and using little to no cooling can assist blade servers provide excellent outcomes for users. When a blade server has a problem, fixing it is usually not too difficult. This is due to the modular, swappable components that are included with blade servers. Building these servers, though, can tie you to specific suppliers. Figure 9 : Blade Server
  • Mainframes : The well-known client-server architecture servers that we saw in the 1990s are known as mainframes. We can still observe these top-of-the-line servers working. However, mainframe servers are now used to complete several, high-volume transactions simultaneously. This is since they have the capacity to perform numerous computations in a single second. For instance, mainframe servers are used in financial services to conduct concurrent and real-time transactions. Due to their high cost and size, mainframe servers are not considered by small organizations.

Figure 10 : Mainframe

 Hardware Component: The server board : This is a crucial part of the hardware for the server. The remainder of the server is linked by it. CPU : The CPU executes each instruction that it gets from the computer's hardware and software. RAM : RAM serves as the host's cache, preserving the most recent data so that the CPU can export and process it later. Hard Drive : The hard disk is where all the data is kept. Power Supply : A computer's power supply is a crucial part since it fuels the rest of the device.

7. Operating systems

 Definition of operating system: An operating system is a piece of software that manages programs and acts as a communication channel (interface) between the user and computer hardware. An operating system's main responsibility is to

 When using multiprogramming, the OS chooses the order and duration of memory access for each process.  When the process requests memory, it does so, and when the process ends or engages in I/O activities, memory is released.

  • Process Management : A file system is divided into directories to make navigation and usage more efficient. Other directories and files may be found in these directories. The file management tasks performed by an operating system are it keeps track of where data is kept, user access settings, and the state of each file, among other things. The file system is the name given to all these features.

8. Web Server software

 Definition of web server software

Figure 11 : Web server software

A web server is software and hardware that responds to client requests sent over the World Wide Web using the HTTP (Hypertext Transfer Protocol) and other protocols. A web server's primary responsibility is to show website content by storing, processing, and sending webpages to users. In addition to HTTP, web servers also support the email, file-transfer, and storage protocols SMTP (Simple Mail Transfer Protocol) and FTP (File Transfer Protocol). (solarwinds.com, 2023)

 List of web server software: Linux web server software : Delivering content, applications, and services to end users is made possible by the open-source Linux operating system, which is the foundation of the Linux server. Linux servers are scalable cloud computing platforms with snapshot capabilities, optimal security, and adaptable, consistent, and high-performance servers. The growing demands for web services, applications, database administration, and other services are assisted by these servers. NGINX web server software : Popular open-source web server NGINX effectively uses resources while running. It can manage extremely high traffic volumes. It provides load balancing, email proxy, reverse proxy, and HTTP caching services. It is best to deliver static information using NGINX, a scalable, lightweight, and powerful web server that can manage concurrent connections. Apache web server software : An open-source server known as Apache web server or Apache HTTP server handles user requests and transmits web assets and content using HTTP. This web server stores important data in an easily readable fashion using the MySQL database. Apache can produce and delivering dynamic web content with the aid of the PHP programming language. IIS web server software : A Windows web server is frequently referred to as the Microsoft Internet Information Service (IIS) web server. It's one of the most widely used web servers available for Windows. It is a flexible and reliable web server that is frequently used to host static websites, PHP- based web applications, and ASP.NET web applications. It can also be used to host WCF services as an FTP server. Windows users find it simpler to log in to numerous web applications using their domain account even when it includes a built-in authentication option like Windows, ASP.NET, and Basic. TLS certificate management, request logging, FTP-specific security settings, and more are additional built- in security capabilities.  The purpose of web server: The primary function of web servers is to handle and process HTTP/HTTPS requests and responses coming from client systems. The content of web pages is displayed by the web server. The browser will submit a request to the Internet to view the appropriate website for that address

II. Website technologies, tools and software

1. The capabilities and relationships between front-end and back-end website technologies

Meaning of Front-end verses Back-end: The frontend of a website is the portion that visitors can see and interact with. It includes the design, menus for navigation, texts, photographs, and videos, as well as the graphical user interface (GUI) and command line. On the other hand, the backend is the portion of the website that visitors cannot access. Everything revolves around how it functions. (Sagar K, 2018)  Role of Front-end verses Back-end : Both are essential to web development, and despite certain differences, they function as the two halves of the same coin. The visual elements of a website that a user may see, and experience are all that the frontend is concerned with. In contrast, backend web development is responsible for everything that occurs in the background. It more closely resembles a frontend web experience enabler. (Sagar K, 2018)  Essentials of Front-end verses Back-end : In contrast to the backend, which is essentially the "server-side" of the program, frontend is also referred to as the "client-side" of the application. Languages like Java, Ruby, Python, PHP, .Net, and others are crucial for backend web development. The most popular frontend languages are JavaScript, CSS, and HTML. (Sagar K, 2018)  Now that the relationship between the front and back ends is evident, none would be useful without the other. Without the back end, your front end would not have anything to dynamically show in response to user interaction. To connect between the two endpoints, you also need a gateway; otherwise, neither is useful. Your front end can still display data that is fixed (static) and does not update in response to user input if you don't have a gateway or back end. (Sagar K, 2018)

2. Explain how these relate to presentation and application layers

 The front-end includes all visual elements that a user interacts with. It includes every element that they directly interact with. All the material and styles are there. Prior to a user clicking a link, there are buttons and various

hover effects. It consists of contact forms with a range of input fields, search boxes, and dropdown menus. the colors, text, and layouts. It's the pictures and movies. However, it goes beyond the fashion trends. The website's loading speed, usability, and accessibility to those with impairments are further factors to consider. It depends on how responsive and usable it is across a wide range of gadgets and web browsers. The entirety of a web application's frontend is what gives it its overall appearance and feel.  Demands from a client are taken care of by the back-end. It processes the incoming request and ensures that the proper data is fetched and linked to the right user. The customer receives a reply after that. With frontend code written by a frontend developer, the required user data is shown to the appropriate user who has access to it in a pleasing visual manner.

3. Review Front End technologies

 Definition of Front-end: Front-end development is a type of computer programming that is concerned with coding and creating website features and aspects that users will see. Making sure a website's visual components are practical is the goal. Front end is frequently referred to as the "client side" of an application. Say you work as a front-end developer. This means that your responsibility is to code and create the website's graphic components. You would pay closer attention to what a user sees when using a website or app. Additionally, you should ensure that the site functions properly and is simple to connect with. (Kenzie academy, 2020)