How DNS works: _How DNS are organized...6_ How DNS are managed...7II.Explain the purpose and relationships between communication protocols, server hardware, operating systems and web ser
Identify the purpose and types of DNS, including explanations on how domain names are
What is DNS?
Define: A computer server that holds a database of hostnames and their associated IP addresses is referred to as a
"DNS server," also known as a "name server" or "domain name system server." In most cases, the DNS server resolves or translates the hostnames to the requested IP addresses DNS servers communicate with one another using specific protocols and specialized software. g p p p
Purpose: All machines connected to the internet, from our computers and smartphones to the servers that deliver content for large websites, use numbers to locate and communicate with one another These numbers are referred to as IP addresses The DNS server helps translate these numerical addresses into the domain names that we enter when we browse the internet.
Recursive server The recursive server takes DNS queries from an application, such as a web browser It's the first resource the user accesses and either provides the answer to the query if it has it cached or accesses the next-level server if it doesn't This server may go through several iterations of querying before returning an answer to the client.
A Root Server: The root server gets the first request and delivers a response that informs the DNS resolver of the address of the Top Level Domain (TLD) server that holds the site’s information A top-level domain is the com or net section of the domain name that you typed into the address box.
A TLD Server: The DNS resolver queries the TLD server, which returns the Authoritative Name Server.
An Authoritative Name Server: Lastly, the DNS resolver will send a query to this server in order to determine the precise IP address of the website you are attempting to display.
_ How DNS are organized: DNS servers translate URLs and domain names into computer-friendly IP addresses They transform what a person types into a browser into something the machine can use to discover a webpage DNS resolution refers to the translation and lookup process.
The following steps make up the fundamental process of a DNS resolution:
1) The user enters a web address or domain name into a browser.
2) The browser sends a message, called a recursive DNS query, to the network to find out which IP or network address the domain corresponds to.
3) The query goes to a recursive DNS server, which is also called a recursive resolver, and is usually managed by the internet service provider (ISP) If the recursive resolver has the address, it will return the address to the user, and the webpage will load.
4) If the recursive DNS server does not have an answer, it will query a series of other servers in the following order: DNS root name servers, top-level domain (TLD) name servers and authoritative name servers.
5) The three server types work together and continue redirecting until they retrieve a DNS record that contains the queried IP address It sends this information to the recursive DNS server, and the webpage the user is looking for loads DNS root name servers and TLD servers primarily redirect queries and rarely provide the resolution themselves.
6) The recursive server stores, or caches, the A record for the domain name, which contains the IP address The next time it receives a request for that domain name, it can respond directly to the user instead of querying other servers.
7) If the query reaches the authoritative server and it cannot find the information, it returns an error message.
_ How DNS are managed: The Internet’s DNS system works much like a phone book by managing the mapping between names and numbers DNS servers translate requests for names into IP addresses, controlling which server an end user will reach when they type a domain name into their web browser These requests are called queries.
Explain the purpose and relationships between communication protocols, server hardware,
Communication Protocols
Define: The proper descriptions of digital message formats as well as rules are known communication protocols
The main function of these protocols is to exchange messages from one computer system to another.
Purpose: Communication protocols allow different network devices to communicate with each other They are used in both analog and digital communications and can be used for important processes, ranging from transferring files between devices to accessing the internet.
Common types of communication protocols include the following:
Automation: These protocols are used to automate different processes in both commercial and personal settings, such as in smart buildings, cloud technology or self-driving vehicles.
Instant messaging: Instantaneous, text-based communications on smartphones and computers occur because of a number of different instant messaging network protocols.
Routing: Routing protocols permit communication between routers and other network devices There are also routing protocols specifically for ad hoc networks.
Bluetooth: Ever-popular Bluetooth devices — including headsets, smartphones and computers — work due to a variety of different Bluetooth protocols.
File transfer: If you have ever moved files from one device to another, either via a physical or digital medium, you’ve used file transfer protocols (FTP).
Internet Protocol: Internet Protocol (IP) allows data to be sent between devices via the internet The internet could not operate as it currently does without IP.
Web server hardware
Purpose: Web server hardware is connected to the internet and allows data to be exchanged with other connected devices, while web server software controls how a user accesses hosted files The web server process is an example of the client/server model All computers that host websites must have web server software Web servers are used in web hosting, or the hosting of data for websites and web-based applications or web applications.
Operating systems
Purpose: Manage the computer's resources, such as the central processing unit, memory, disk drives, and printers.Establish a user interface, and execute and provide services for applications software Keep in mind, however, that much of the work of an operating system is hidden from the user; many necessary tasks are performed behind the scenes In particular, the first listed function, managing the computer's resources, is taken care of without the user being aware of the details Furthermore, all input and output operations, although invoked by an applications program, are actually carried out by the operating system.
Web server software
Purpose: Server software is software that is intended to be executed, managed, and used on a computer server It allows and simple use of underlying server computing capacity for a variety of high-end computing services and functions Web server software is accessed through the domain names of websites and ensures the delivery of the site's content to the requesting user The software side is also comprised of several components, with at least an HTTP server The HTTP server is able to understand HTTP and URLs.
5 Relationships between communication protocols, server hardware, operating systems and web server software
Communication protocols are necessary to allow clients and servers to interact efficiently, even though the client and server know very little about one another If a client has a working id (possibly nothing) and a correct password (possibly null), then it can present requests to the server, and the server will reply with answers to the queries This allows the broadest possible mix of clients and servers.
Server hardware is usually based on a large number of identical computers, with many CPUs, loads of RAM, and extensive persistent storage Servers work best with a good caching solution to allow the entire complex to scale up so it can handle a large number in concurrent requests.
Server operating systems are almost always a version of Linux There are other solutions, but the Linux model has become the dominant server operating system Client operating systems and range from Windows, macOS, Linux, along with Android and Apple smartphones.
Server software stacks can be very complex, with load-balancers distributing incoming requests across multiple web servers, and accessing large datastores, handled by a variety of data access protocols This is probably the most complex part of the entire space and it is managed by highly competent professionals If not, chaos will reign.
Discuss the capabilities and relationships between front-end and back-end website technologies
Knowledge about web
Web 1.0, or static web, which consists of basic HTML pages and auxiliary files like Cascading Style Sheets (CSS) andJavaScript (JS), was too antiquated since it didn't adapt to new information, which made static websites user-blind and solely based on assumptions Moreover, Web 2.0 or a dynamic web that combines both Web-commerce is dominated by back-end and front-end development A stage play would be a suitable analogy for contrasting backend with frontend development The set and the actors are what the audience sees as the backside is the staff managing the lighting and soundboard behind the scenes.
Define: The front end of a website is everything the user either sees or interacts with when they visit the website It is responsible for the total look and feel of an online experience.
JavaScript has been around for the past quarter of a century The programming language is well-known for revolutionizing the web due to its dynamic capabilities Dynamic describes content that is susceptible to change, whereas static content is immovable Before the emergence of JavaScript, the web as a whole was static in nature A web page was simply a block of text Then JavaScript came about, enabling interactivity, like scrolling, clicking, and much much more
HyperText Markup Language (HTML), alongside JavaScript and CSS, is a foundational web technology Its basic purpose is to structure text which occurs by formatting documents for display on a web page
Cascading Style Sheets (CSS) denotes the styling and presentation of a document For instance, any HTML document counts on CSS to manage the visual details of the web page Layouts, colors, and fonts are all under the jurisdiction of CSS
React, or ReactJS, is a front-end JavaScript library for building UIs and UI components React was developed and is maintained by a small team of developers at Facebook.
Angular is a TypeScript web application framework, and a reliable component of the MEAN tech stack — or MongoDB, Express.js, Angular, And Node.js TypeScript is a superset of JavaScript which extends static typing, permitting stronger type safety for detecting errors quickly
Flutter is a UI software development kit (SDK) courtesy of Google Along with Flutter, developers employ the speedy programming language Dart and the resourceful graphic engine Skia for building cross-platform apps Benchmarks demonstrate that Dart is even faster than JavaScript, and Skia works with APIs from a variety of development platforms to abstract platform-specific graphics and render native UIs
Vue.js is a progressive, MVVM JavaScript framework By being progressive, Vue.js encourages incremental adoption Vue.js designer Evan You created the project after using AngularJS He decided to extract the best features from Angular and build something lightweight
Bootstrap is a CSS framework with design templates for typography, forms, buttons, navigation, and similar interface modules You can think of Bootstrap as a toolkit for building the front-end of responsive sites with ease and speed Themes and icons come equipped with Bootstrap's pre-built components.
Back-end
Define: A backend technology is anything used server-side to build stable and efficient web architectures Back-end technologies include programming languages, databases, communication mechanisms, or frameworks that make up the building blocks of a web application’s back-end.
Go: is the fastest-growing and most-desired backend language, used by companies like Uber, YouTube, and Spotify Backend developers like it because it’s super safe to use, it’s incredibly simple to pick up, and it’s fast Python: is the most popular backend programming language for beginners It has a simple and limited syntax, which makes it easy to read and write Its immense number of libraries makes it incredibly versatile Companies like Airbnb, SpaceX, and Stripe rely on Python to maintain their backends.
JavaScript: is the most popular backend language for all developers, though it’s mostly used for frontend dev However, its frameworks like NodeJS make it a popular choice for backend developers too Companies like Facebook, Google, and eBay use JavaScript
Rust: is a newbie on the backend development scene, but it’s the most beloved language for the seventh year running – ever since its inception It’s open source, it has rich libraries, and it’s one of the fastest languages around Meta is notable for being quick to jump on the Rust bandwagon, having used it since 2016 AWS also uses it to write infrastructure-level networking.This is a legacy backend language It’s the safe bet, unpopular with newbies but so entrenched in so many companies’ backends that it’s not going anywhere anytime soon Companies like Google, Netflix, Uber, and Facebook all still rely on it It may not be the top choice in the future, but for now, it’s good to be familiar with it.
Nobody (literally just 2% of StackOverflow survey respondents) wants to learn PHP But it’s on 75% of websites today Like Java, it’s not the best or sexiest language but it’s worth knowing Meta in particular has used it to develop Facebook’s backend since 2004 Slack uses PHP to streamline web request time.
SQL isn’t a programming language like the other seven But it’s, as we’ll get into below, a very useful and popular query language Backend developers often use SQL to communicate between relational databases It’s hard to find a company that wouldn’t find SQL knowledge useful, so count this as a must-know language to be hired.
Relationship Between Front-end and Back-end
_ The front-end refers to the client/user interface and related code and tools, whereas the back-end refers to the server-side and related code and tools The User/Human will interact with the program using CSS, HTML, and JavaScript, as well as the myriad tools and frameworks that work with these technologies In particular, the back-end, or server side, is responsible for ensuring that programs containing the entire code, algorithm, and network connectivity are executed successfully for every activity that users engage in on the front-end side The "http" protocol, which permits requests and responses to be delivered as "packets" across a network or networks, will be used by the back-end/server to connect with clients across the internet in response to queries There will be some programming (PHP, Python, Java, etc.) on the back-end.
_ Depending on what users do on the front-end or client side, the back-end will have some code (PHP, Python, Java, etc.) that will tell the server what to do, such as whether to acquire data, generate new data, update data, remove data, and so on To store and provide data in a structured way, the server will repeatedly connect with a data store, like a database The basic relationship between front-end and back-end is that it enables interactions between a human on a browser (or another server with just back-end via APIs) and a server/database somewhere on the internet There are many more processes and technologies involved.
_ Although there are special differences between Front-end and Back-end, these two areas must always be closely linked to bring the best experience to users A website that wants to operate smoothly and effectively "must have" a full range of elements and a combination of Front End and Back End work.So, a Website Developer with knowledge and skills in both fields called Full Stack programmer can guarantee to get the jobs related to server, data, UI and back end Full Stack can work in both front end and back end arrays, requiring both logical programming thinking and sophisticated verification, and being able to write good server code and flexibly change with css Full stack developers are like back-end developers on the server side of the web, but they can also use front-end languages to control how content looks on the front-end Web's Full Stack are versatile people.
How Front-End and Back-End Relate to Presentation and Application Layer
The presentation layer, sometimes referred to as the front-end layer, includes the user interface, a graphical user interface that can be accessed by a web browser or a web application and shows content and information that is pertinent to the end user.
Like earlier levels, this application layer is built using frameworks, web technologies including HTML, CSS, and JavaScript, as well as API calls.
The application layer—often written in Java,.NET, C#, Python, C++, and other languages—stores the functional business logic that powers an application's core operations.
The database/data storage system is a component of the database layer Systems like MySQL, Oracle, PostgreSQL, MongoDB, Microsoft SQL Server, and others are examples of this type Using API calls, the application layer can access data.
Depending on the complexity and processing demands of the application, the presentation layer is often supplied to PCs, tablets, and phones via a web browser or a web-based application hosted on a web server The application layer is often hosted on a dedicated workstation or in the cloud.
A Discuss the differences between online website creation tools and custom built sites with
Online website creation tools
Define: A website builder is a tool that allows you to build a website without coding experience There are two different types of website builders: online and offline An offline website builder is a software that you download to create the website on your personal computer Online website builders are web-based and allow you to create and edit your website directly on the company’s server
Make it easy to upload pictures and videos
Each website builder offers different flexibility for customisation options Some companies use themes that are harder to adjust, while others allow you to customise almost every aspect of the web page.
Website builders make it easy to integrate third-party applications like social media feeds or shopping carts Some always charge extra for this feature while others offer one or two emails for free and charge for each additional email, so be sure to choose the best plan for your needs
Users don't need any prior coding experience Because to the drag and drop functionality featured in template web designs, anyone with any level of knowledge may develop a website For normal operations, very little or no coding is required.
The startup expenditures are also lower with prebuilt templates because you may install them yourself without hiring a specialist.
You can cut the time it takes to develop your website in half by using a template.
For people on a low budget, there are economical tools for developing websites online You will pay a reduced price for all the materials required to launch your website.
Easy to learn and use
Need less time to learn
Fast way to build a website
Because they do not have a fundamental understanding of the web, people are unable to learn on demand. The initial costs of deployment are high.
To grow, produce, and ship custom built website designs, customers will need to have a basic understanding of coding or hire someone to do it Overall, this highlights how far having a custom-built website can take you Barriers to entrance are greater than using a template.
Fixed maintenance expenses: To assure timeliness and security, a competent team must be kept in place to monitor and develop the website.
Longer time for development The length of time needed to build a site can range from a few weeks to several months, depending on its complexity.
Custom Built Websites
Define: Custom websites are built from scratch This involves using code to create the customizable elements you want to include on your site As a result, you have full control over how the site will look and function Because of its complexity, you’ll need to either hire an in-house developer or hire a web design agency to design it for you.
The website will have a totally unique design that reflects the company's logo and is tailored to the demands of its consumers.
High security: Custom websites are more secure than template sites, provided they are updated often.Possible additions and modifications: Expert developers who have total control over all of the programs may p p p g y make modifications quickly.
The website will be search engine optimized (SEO) (SEO) One of the most crucial factors in a website's success is its SEO friendliness, which includes speed, keywords, meta descriptions, and even URLs.
Complete responsiveness: developers may make changes to the user experience or business rules right away. Easy management: Because the website was developed in accordance with requirements, developers are already aware with how to manage it.
Building a custom website is expensive and takes a long time to complete.
You also need to find a team of highly skilled web developers to do this for you, as it is unlikely that the tech- savvy person on your team knows everything there is to know about coding.
You have to learn a lot of knowledge about code like HTML, CSS, JS not secure easily copied
The differences between online website creation tools and custom built sites
Online websites creation tools Custom built websites Flexibility - Fast, simple to use, and efficient with a Drag and Drop interface to cut down on time
- Requires no coding expertise or knowledge.
Provide a variety of modifiable templates for customization But, websites won't stand out as much from each other if the same template -Offering hosting and domain name options as well
-Require a certain amount of time for the coding process as well as the creative process need decent coding knowledge and abilities (such as HTML, CSS, PHP, etc.) -Offer different frameworks.
Back-end and front-end customization Adaptable enough to create a unique website Versatile management and selection options for hosting and domain names Performance -The price of the hosting solution determines the website's bandwidth, which determines how quickly a website performs.
-The webute's handwidth is dependant on the cost of hosting option.
-Does not offer any back-end assistance the Back- end technologies to optimize the site's performance
Functionality -It has a number of integrated features and functionalities occasionally fails to perform the desired function
-Too many built-in features might hinder the effectiveness of SEO on the web.
-The features and functions of the website may be optimized by the web developer to meet the needs. -Site structure and code have been cleaned up and optimized for search engines.
User Experience (UX) -Inability to install any customized or new technologies as templates in order to execute items on a structured system Lack of control over UX.
-Flexible customization and optimization of the site's technology for lead generation or sales
User Interface (UI) -Each template has a separate
Customization Ul, so developers may alter the websites by attempting to locate a template from another website that meets the specifications.
-Sites may not 100% operate on all devices devices.
-Create a special Ul that not only satisfies the criteria but also distinguishes the site.
-All websites are fully responsive.
Lutkevich, B and Burke, J (2021) What is DNS? how domain name system works Networking, TechTarget Available at: https://www.techtarget.com/searchnetworking/definition/domain-name-system (Accessed: March 30, 2023)
Popovici, M (2023) What is a DNS server? definition, purpose, types of DNS servers, and their safety Heimdal Security Blog, Heimdal Security Available at: https://heimdalsecurity.com/blog/what-is-a-dns-server/ (Accessed: March 30, 2023)
What is the purpose and relationships between communication protocols, server hardware, operating systems and web server software with re (no date) Quora Available at: https://www.quora.com/What-is-the-purpose-and-relationships-between-communication- protocols-server-hardware-operating-systems-and-web-server-software-with-regards-to-designing-publishing-and-accessing-a- website (Accessed: March 30, 2023)
Network protocol definition: Computer protocol: Computer networks: Comptia Default Available at: https://www.comptia.org/content/guides/what-is-a-network-protocol#:~:text=Communication%20protocols%20allow
%20different%20network,devices%20to%20accessing%20the%20internet (Accessed: March 30, 2023)
Cordenne Brewster • 6 min read and Brewster, C 11 best front-end technologies to use in 2023 Trio Developers, Available at: https://www.trio.dev/blog/front-end-technologies (Accessed: March 30, 2023)
Schooner, N (2022) The top 22 backend technologies to learn in 2023 Boot.dev, Boot.dev Blog Available at: https://blog.boot.dev/backend/top-backend-technologies/#:~:text=A%20backend%20technology%20is%20anything,a%20web
%20application's%20back%2Dend (Accessed: March 30, 2023)
Hoory, L (2023) What is a website builder? all you need to know Forbes, Forbes Magazine Available at: https://www.forbes.com/uk/advisor/business/software/what-is-a-website-builder/#:~:text=A%20website%20builder%20is
%20a,website%20on%20your%20personal%20computer (Accessed: March 30, 2023)
M, B (2023) Advantages of custom built sites vs online website Builder Tools, Icecube Available at: https://www.icecubedigital.com/blog/advantages-of-custom-built-sites-vs-online-website-builder-tools/ (Accessed: March 30, 2023).