



























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Unit 20: Applied Programming and Design Principles
Typology: Summaries
1 / 35
This page cannot be seen from the preview
Don't miss anything!
On special offer
Qualification BTEC Level 5 HND Diploma in Computing Unit number and title 13 : Website Design & Development Submission date 07 /03/2024 Date Received 1st submission 07 /03/ Re-submission Date Date Received 2nd submission Student Name Le Thanh Nhan^ Student ID BC Class SE06202 Assessor name Le Nhat Quang 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 Grading grid P1 P2 P3 P4 M1 M2 M3 D
Grade: Assessor Signature: Date: Signature & Date:
Figure 1: WIX.com ................................................................................................................................... 26 Figure 2: WordPress ................................................................................................................................ 27
2.1. Identify the purpose and types of dns, including explanations on how domain names are organised and managed (p1) 2.1.1. Website A website is a collection of web pages and related content that is identified by a common domain name and published on at least one web server. It is accessible via the Internet or a private local area network (LAN) through a web browser. Websites can serve various purposes, such as providing information, facilitating communication, selling products or services, or entertaining users. They typically consist of a combination of text, images, multimedia elements, and interactive features, all organized and presented in a structured manner. Websites play a crucial role in modern society, serving as virtual platforms for businesses, organizations, individuals, and communities to connect, share, and interact with each other on a global scale. 2.1.2. How the website works? A website is like a book on the internet. When you want to read a book, you open it and flip through its pages. Similarly, when you want to visit a website, you open it using a program called a web browser, like Google Chrome or Safari. When you type a website's address into the browser, it sends a message to a special computer called a server that holds the website's information. This message asks the server to send back the website's pages. The server then collects all the pages of the website and sends them back to your browser. Your browser puts all these pages together and shows them to you on your screen, just like flipping through the pages of a book. Once the website is loaded, you can click on links to go to other pages, watch videos, fill out forms, or do whatever the website allows you to do. Each time you do something on the website, your browser sends a message to the server, and the server responds with what you asked for. So, in simple terms, a website works by sending messages back and forth between your browser and a special computer that stores the website's information, allowing you to see and interact with the content on the internet.
2.1.3. Domain Name System 2.1.3.1. What is domain name? A domain name is the unique address or identifier that you type into a web browser to visit a specific website. It's like the name of a street or house number that helps you find a particular location in the physical world. For example, in the domain name "google.com", "google" is the name of the website, and ".com" is the domain extension, indicating the type of organization or entity the website belongs to (in this case, a commercial entity). Domain names are organized hierarchically, with different levels separated by dots. The rightmost part of the domain name, such as ".com", ".org", ".net", ".edu", etc., is called the top-level domain (TLD). The part to the left of the TLD is the specific name of the website. Domain names are registered with domain registrars for a certain period (usually annually) by individuals, businesses, or organizations to claim ownership and establish their online presence. Once registered, the domain name becomes unique and can be used to access the associated website from anywhere in the world. 2.1.3.2. How the domain names are organised and managed? Domain names are organized and managed through a hierarchical system overseen by several entities. Here's an overview of how domain names are organized and managed: Root Zone: At the top of the hierarchy is the root zone, which contains the DNS (Domain Name System) root servers. These servers maintain information about the top-level domains (TLDs) such as .com, .org, .net, and country-code TLDs like .uk, .de, etc. Top-Level Domains (TLDs): TLDs are the highest level of domain names in the DNS hierarchy. They can be generic (gTLDs) like .com, .org, .net, etc., or country-code (ccTLDs) like .us, .uk, .de, etc. Each TLD has a registry responsible for managing domain registrations under that TLD. Domain Registrars: Domain registrars are companies accredited by ICANN (Internet Corporation for Assigned Names and Numbers) or other domain name authorities to sell domain names to the public. Registrars maintain databases of registered domain names and provide domain registration services to individuals and organizations.
DNS servers play a pivotal role in sparing us the need to memorize lengthy numerical IP addresses (particularly complex alphanumeric ones within the IPV6 system). They automatically convert the website names we input into the browser address bar into these numerical equivalents, ensuring the servers can correctly load the desired web pages. Purpose of DNS: Translation of domain names to IP addresses: DNS translates human-readable domain names (e.g., example.com) into numerical IP addresses (e.g., 192.0.2.1) used by computers to communicate over the internet. Load distribution: DNS can distribute incoming traffic across multiple servers by returning different IP addresses in response to DNS queries. This helps balance the load on servers and improve performance. Email routing: DNS is used to route email messages by resolving the domain names in email addresses to the IP addresses of mail servers responsible for handling incoming mail for those domains. Security: DNS plays a role in various security mechanisms, such as Domain Name System Security Extensions (DNSSEC), which helps ensure the authenticity and integrity of DNS data. Types of DNS Servers: Recursive DNS Servers: These servers receive DNS queries from client devices (such as computers or smartphones) and resolve domain names on behalf of the clients by querying other DNS servers in the DNS hierarchy. Internet service providers (ISPs) typically operate recursive DNS servers for their subscribers. Authoritative DNS Servers: Authoritative DNS servers hold the official DNS records for specific domain names. When queried for information about a domain, these servers provide authoritative responses, indicating the correct IP addresses or other DNS records associated with the domain. Organizations usually manage authoritative DNS servers for their own domains or delegate management to third-party DNS hosting providers. Root DNS Servers: Root DNS servers represent the top level of the DNS hierarchy and store the information about the root zone, which contains the authoritative DNS servers for top- level domains (TLDs). There are 13 sets of root DNS servers distributed worldwide, managed by various organizations under the oversight of ICANN.
TLD DNS Servers: These servers are responsible for managing DNS records for specific top- level domains (TLDs), such as .com, .org, .net, and country-code TLDs like .uk, .de, etc. TLD DNS servers provide authoritative responses for queries related to domain names within their respective TLDs. 2.1.3.5. How does DNS work DNS works by translating domain names into IP addresses through a network of servers. When you enter a domain name, your device queries a DNS server, which finds the corresponding IP address and allows your device to connect to the desired website or service. 2.2. Explain the purpose and relationships between communication protocols, server hardware, operating systems and web server software with regards to designing, publishing and accessing a website (p2) 2.2.1. Web communication protocols Web communication protocols are standardized sets of rules and conventions that govern the exchange of data between devices over the internet. Some key web communication protocols include: HTTP (Hypertext Transfer Protocol): HTTP is the foundation of data communication on the World Wide Web. It defines how web browsers and servers communicate by exchanging hypertext documents, such as HTML files, enabling the retrieval and display of web pages. HTTPS (Hypertext Transfer Protocol Secure): HTTPS is an extension of HTTP that adds a layer of security through encryption. It ensures that data transmitted between a web browser and server is encrypted, protecting it from interception or tampering. FTP (File Transfer Protocol): FTP is used for transferring files between a client and a server on a computer network. It allows users to upload, download, and manage files remotely over the internet. SMTP (Simple Mail Transfer Protocol): SMTP is a protocol used for sending and receiving email messages between email servers. It defines how email messages are relayed and delivered across the internet. POP3 (Post Office Protocol version 3) and IMAP (Internet Message Access Protocol): These protocols are used by email clients to retrieve email messages from a remote server. POP3 typically
Implementation processes are largely automated, with vendor goods offering setup wizards for gathering necessary information. Mainframes: Despite predictions of their demise in the 1990s, mainframes remain relevant, particularly for handling high volumes of concurrent transactions and severe I/O loads without compromising speed. Mainframe customers, such as financial services organizations, rely on them for executing concurrent, real-time transactions. However, mainframes are characterized by their size and cost, which are considered significant drawbacks. 2.2.3. Operating systems An operating system serves the purpose of providing a platform for users to run applications conveniently and efficiently by managing computer hardware allocation. Here are some key features of operating systems: Security: Operating systems employ measures such as password protection to safeguard user data and prevent illegal access to applications and user data. Control over system performance: They monitor system health to optimize performance by tracking service request times and system responses, providing critical information for issue troubleshooting. Job accounting: Operating systems track resource utilization by monitoring time and resources utilized by various tasks and users, enabling measurement of resource utilization for specific users or groups. Error detecting aids: They continuously monitor the system to detect errors and prevent system failures. Coordination between software and users: Operating systems organize and distribute interpreters, compilers, assemblers, and other software to computer users. Memory Management: Operating systems manage primary memory (main memory) by allocating memory to user programs, determining memory access for processes, and allocating and deallocating memory as needed during process termination or I/O activity. Processor Management: In a multi-programming environment, operating systems determine the sequence and processing time allocated to programs through process scheduling, maintaining records of process status and allocating and deallocating the CPU accordingly.
Device Management: Operating systems handle device connectivity through individual drivers, keeping track of connected devices, determining process access to devices, and efficiently allocating and deallocating devices when needed. File Management: Operating systems organize file systems into directories for efficient navigation and usage, tracking file locations, user access settings, and file conditions to facilitate file management tasks. 2.2.4. Web server software A web server is software designed to handle HTTP requests from users and serve them with files that generate web pages. When a user requests a webpage, such as Facebook, their device sends an HTTP request to a web server. This server stores all the necessary files, like text, images, and gifs, in HTTP format, and then delivers them to the user's device, allowing them to view the website. Different websites can be stored on the same or different web servers, but this doesn't affect the user's experience. Web servers can be any type of software or hardware, but they are typically software running on a computer. One web server can accommodate multiple users simultaneously, which is essential for handling the large number of requests on the internet. Some popular web server software includes: Apache HTTP Server: The Apache HTTP Server is the most widely used web server, powering over 60% of the world's web server computers. It is open-source software, allowing users to access and modify its code as needed. Apache is easy to install and use on various operating systems. Microsoft Internet Information Services (IIS): IIS is a high-performance web server developed by Microsoft. It is tightly integrated with Windows operating systems, making it easy to manage. While it offers excellent support from Microsoft, it is not open-source software, so users cannot modify its code. Lighttpd: Lighttpd, also known as 'Lighty,' is a lightweight web server with a low CPU burden and memory footprint. It is open-source software, offering speed optimizations and the ability for users to modify its code to suit their needs. Jigsaw Server: Jigsaw is a Java-based web server capable of executing CGI scripts and PHP applications. It was designed as an experimental server to showcase new web protocols. Being open-source, users can access and modify its code.
structure from the CSS, and runs any JavaScript code. Finally, the browser paints a visual representation of the webpage on the screen, allowing the user to interact with the content. 2.3. Discuss the capabilities and relationships between front-end and back-end website technologies and explain how these relate to presentation and application layers (p3) Frontend: Front-end technologies such as HTML, CSS, and JavaScript (JS) are essential components of web development used to create the user interface and user experience of websites and web applications. Here's a brief definition and the advantages and disadvantages of front-end technologies: Definition: Front-end technologies refer to the set of tools and languages used to build the visual and interactive elements of a website or web application that users interact with directly. HTML (Hypertext Markup Language) provides the structure of web pages, CSS (Cascading Style Sheets) controls the presentation and layout, and JavaScript adds interactivity and dynamic behavior to the web pages. Table 1 : Advantages and Disadvantages Advantages: Disadvantages: Accessibility: Front-end technologies allow developers to create accessible websites that can be easily navigated and understood by users, including those with disabilities. Browser Compatibility: Different browsers may interpret front-end technologies differently, leading to inconsistencies in the display and functionality of websites across different browsers. User Experience: Front-end technologies enable developers to create visually appealing and interactive user interfaces that enhance the overall user experience. Security Vulnerabilities: Front-end technologies can introduce security vulnerabilities such as cross- site scripting (XSS) and cross-site request forgery (CSRF) if not implemented properly. Cross-Platform Compatibility: Websites built using front-end technologies are compatible with a wide range of devices and browsers, ensuring consistent user experiences across different platforms. Complexity: As web applications become more complex, managing front-end codebases can become challenging, leading to issues such as code bloat, performance bottlenecks, and maintainability problems.
Speed and Performance: Front-end optimization techniques can improve the loading speed and performance of websites, resulting in a better user experience and higher conversion rates. Learning Curve: Mastering front-end technologies requires learning multiple languages and frameworks, which can be daunting for beginners and may require ongoing education to stay up-to- date with the latest developments. Community Support: Front-end technologies have large and active developer communities, providing access to a wealth of resources, tutorials, and libraries to help developers build and maintain their projects. Dependence on Third-party Libraries: While third- party libraries and frameworks can accelerate development, they can also introduce dependencies and potential compatibility issues that developers need to manage carefully. Backend: Back-end technologies refer to the server-side technologies used to handle the logic, database operations, and other functionalities that are not directly visible to users but are crucial for the functioning of websites and web applications. Common back-end technologies include .NET, PHP, Java, Python, Node.js, and Ruby on Rails. Here's a definition, along with the advantages and disadvantages of back-end technologies: Definition : Back-end technologies are responsible for managing and processing data, handling user authentication, managing server-side logic, and interacting with databases to generate dynamic content for websites and web applications. They typically run on the server and communicate with the front-end components to deliver the final user experience. Table 2 : Advantages and Disadvantages Advantages: Disadvantages: Scalability: Back-end technologies allow developers to build scalable and robust applications capable of handling a large number of users and data without sacrificing performance. Complexity: Back-end development can be more complex than front-end development, requiring knowledge of server-side programming languages, frameworks, databases, and server management. Security: Back-end technologies provide mechanisms for implementing security measures such as encryption, authentication, and Performance Bottlenecks: Poorly optimized back- end code or inefficient database queries can lead
interactions, and the backend managing data and executing complex operations, ultimately providing a cohesive and responsive web application. 2.3.2. Presentation Layer The OSI (Open Systems Interconnection) model is a conceptual framework used to understand and standardize the functions of a telecommunications or computing system. It consists of seven layers, each responsible for specific tasks in facilitating communication between devices on a network. The Presentation Layer, the sixth layer of the OSI model, is responsible for translating data from the Application Layer into a format that can be easily understood by the receiving system. When it comes to the front-end interacting with the Presentation Layer to display information and user interface, here's how it typically works: Data Formatting: The front-end sends data to the Presentation Layer in a raw format, such as JSON or XML, containing information to be presented to the user. This data may include text, images, multimedia, or any other type of content. Data Translation: The Presentation Layer receives the raw data from the front-end and processes it according to the agreed-upon format and standards. This may involve tasks such as data compression, encryption, or decryption, depending on the requirements of the application. Data Representation: Once the data is processed, the Presentation Layer converts it into a format suitable for display to the user. This may involve transforming the data into a specific markup language (e.g., HTML) for rendering in a web browser or formatting it for display on a graphical user interface (GUI). User Interface Rendering: Finally, the processed data is passed back to the front-end, where it is used to render the user interface and present the information to the user. This may involve displaying text, images, buttons, forms, or any other elements necessary to convey the desired content and functionality. In the context of creating the Presentation Layer, which is responsible for the layout and presentation of information to the user, CSS (Cascading Style Sheets), HTML (Hypertext Markup Language), and front-end frameworks like React or Angular play distinct roles: HTML (Hypertext Markup Language):
HTML is the standard markup language for creating the structure of web pages. Its primary role is to define the content and structure of the elements on a webpage, such as text, images, links, forms, and other media. HTML provides the basic building blocks that determine what content is displayed and how it is organized on the page. It acts as the foundation upon which CSS styles are applied to control the appearance and layout of the content. CSS (Cascading Style Sheets): CSS is a style sheet language used to control the presentation and layout of HTML documents. Its main role is to define the visual appearance of HTML elements, including aspects such as colors, fonts, spacing, positioning, and responsiveness. CSS allows developers to separate the content (HTML) from its presentation, making it easier to maintain and modify the appearance of a website or web application. By applying CSS rules to HTML elements, developers can create visually appealing and consistent designs across different web browsers and devices. Front-end Frameworks (e.g., React, Angular): Front-end frameworks like React and Angular provide a structured and efficient way to build interactive user interfaces. They offer a set of pre-built components, tools, and libraries that streamline the process of developing complex web applications. React, for example, is a JavaScript library that emphasizes component-based development, allowing developers to create reusable UI components that can be composed together to build rich user interfaces. Angular, on the other hand, is a comprehensive web application framework maintained by Google, which provides features such as two-way data binding, dependency injection, and routing to facilitate the development of single-page applications. These frameworks abstract away many low-level implementation details, providing developers with higher-level abstractions and patterns for organizing and managing the presentation layer of their applications.