Term Paper
Term Paper
Submitted
in partial fulfilment
for the award of the Degree of
Bachelor’s of Computer Science (Honours in Information
Technology)
To
Amity University, Tashkent
(Signature of Candidate)
Name of Candidate: Shakhzod Khudoykulov
Enrolment No.: A85204919002
Programme/Semester: B.Sc(IT) /3
Batch: 2019/2022
CERTIFICATE
This is to certify that Student Shakhzod Khudoykulov B.Sc IT
325/2019-2020 Semester 3, has presented an “Web Development” in
partial fulfilment for the award of the degree of Bachelor Science of
Information Technology, under Amity University Tashkent.
Date: 12/12/2020
I would also like to give my sincere gratitude to all the friends and
colleagues who filled in the survey, without which this research would
be incomplete.
Table of content:
No. Title: Page:
1 1. Introduction to Web Development 6 – 11
1.1 A Complicated Ecosystem 6–7
1.2 A short history of the Internet 7–8
1.3 The birth of Web 8–9
1.4 Static and Dynamic Websites 9 – 10
1.5 Sociotechnological Integration – 10 – 11
Web Science
2 2. The Client Server Model: 11 – 17
2.1 The Client 11 – 12
2.2 The Server 12 – 13
2.3 The Request-Response loop 14 – 15
2.4 Server Types 15 – 17
3 3. Working in Web Development: 17 – 22
3.1 Roles and Skills 17 – 18
3.2 Types of jobs in Web 18 – 20
3.3 Types of web Development 20 – 22
Companies
4 4. Conclusion: 23 – 24
4.1 Key Terms 23
4.2 References 24
Figure 1.5
1.6 Static Websites versus Dynamic Websites
In the early days of the web, a webmaster published web pages and regularly updated them (a
term common in the 1990s for the person responsible for developing and supplying a site). Pages
can be read by users but feedback can not be provided. At the beginning of the Web, there were
several encyclopedia-style pages with plenty of material for reading.
At that time, it was very important to know how to create a website: one needed to know HTML
and maybe to know how to edit and create photos. This type of website is generally called a
static website, as it only contains HTML pages which are always the same for all users. The
interaction between the user and the static website is shown in Figure 1.6 in a simplified way.
Figure 1.6
Within a few years of the website invention, sites became more popular.
It was complicated as more and more sites started using web server programs to dynamically
produce content. These server-based programs read the information from the databases, interface
with existing business computer systems, interacted with financial institutions, and then returned
HTML to the browsers of the user. This type of website is referred to as a website on the
dynamic server-side as the page content is generated by a programmer's software, which may
differ from user to user. Figure 1.7 represents the interaction between a user and a complex
website, which has been quite simplified.
Figure 1.7
Figure 1.9
2.5 Server Types
Figure 1.9 shows the server as a single computer, which is perfect from a logical point of view.
Clients make requests for services from the URL; the server is a single computer for the client.
However, most real-world websites are not usually supported by a single server machine, but by
several server machines. It is normal to divide the functionality of a website between a variety of
different server types, as shown in Figure 1.10.
Figure 1.10 Different types of server
These include the following:
Web servers. A web server is an HTTP request server. This usually applies to computers
running web server applications, such as Apache or Microsoft IIS (Internet Information
Services).
Application servers. An application server is a device that hosts and executes web applications
that can be generated in PHP, ASP.NET, Ruby on Rails, or some other web development
technology.
Database servers. The database server is a computer dedicated to running the Database
Management System (DBMS), such as MySQL, Oracle, or MongoDB, which is used for web
applications.
Mail servers. A mail server is a device that generates and fulfills mail requests, usually using the
Simple Mail Transfer Protocol (SMTP).
Media servers. A media server (also known as a streaming server) is a special type of server
dedicated to processing requests for images and videos. Special software that allows video
content to be streamed to clients may be run.
Authentication servers. The authentication server is responsible for the most basic security
needs of web applications. This can include contact with local networking services, such as
LDAP (Lightweight Directory Access Protocol) or Active Directory.
2.6 Across the Oceans
The amount of underwater fiber optic cable is very astounding and rising every year. As can be
seen in Figure 1.11, over 250 underwater fiber optic cable systems operated by a wide range of
companies across the globe. Internet access is provided by orbiting satellites for areas not
covered by underwater cable (such as Antarctica, many of the Canadian Arctic Islands, and other
small islands around the world). It is worth noting that satellite connections (which have a lower
bandwidth relative to fiber optic) account for an extremely small percentage of oversea Internet
contact.
System Administrator
When the system is installed and connected to the network, the system administrators will be the
next people needed to get things up and running. They also select and install a network operating
system, and then manage shared operating system environments for other users. This role is also
paired with the hardware architect in smaller companies, and is on call, as a broken hard drive on
Saturday morning cannot wait for two days to be repaired.
Security Specialist/Consultant/Expert
There is no question that a strong system administrator and network architect would have
awareness of protection as they conduct their duties. However since security is so essential to
web creation in general, and because the expertise required to conduct security work is
complicated and ever-changing, it is not unusual for organizations to outsource their security
needs to security specialists. These specialists will test vulnerabilities, enforce best-practice
protection, and upgrade and adjust the programming code or hardware infrastructure to protect
the site from well-known or emerging (called zero-hour) attacks.
Developer/Programmer
A large variety of tasks can be delegated to programmers apart from simply coding. Writing
strong papers, using version control tools, carrying out code reviews, running test cases, and
more may be standard jobs, depending on company experience. Programmer roles frequently
start at the entry level, with higher-level design decisions left to software engineers and senior
developers. In terms of the world of web development, the terms programmers or developers are
very broad; generally, however, this term is used to denote a work more concentrated on server-
side development using languages such as PHP.
Software Engineer
A programmer is a software engineer who knows the language of analysis and design and uses
proven best practice for software development. In some cases a programmer and software
engineer's position is used interchangeably, but a software engineer has a better understanding of
the period of software development and can meet specifications efficiently and address technical
and business matters with customers.
Tester/Quality Assurance
Testers are the people who attempt to detect software bugs before they are released. This type of
work is also referred to as quality management (QA). Although some test functions are for non-
experts, many testers will schedule and write automated tests and create requirements test plans.
Although these jobs are mostly integrated with developers, they may build a job for themselves.
SEO Specialist
SEO refers to the process of improving web content discovery through search engines. search
engine optimisation. The above-mentioned strategies for enhancing SEO outcomes cover
Chapter 23, as well as the underhanded. Such methods, observations and research approaches,
social networking APIs and even content development strategies should be familiar to an SEO
expert.
Business Analyst
While an analytical software engineer will talk to customers and have needs, this position is
often given a different name and delegated to someone with exceptionally strong communication
skills. The interface between different divisions of the organization and the website is a market
analyst (and IT in general). These people will talk easily to the human resources, marketing and
legal departments and then convert the specifications into software engineers' tasks.
Design Companies
Design firms with few professional roles are at the other end of the spectrum. These businesses
will offer professional services in art and design, which may go beyond the internet, including
logos and branding in general. In Photoshop, for example, some companies create mockups that
a web developer (at another company) can turn into a website.
Start-Up Companies
Web development startups have become one of the world's greatest success stories. Increased
productivity of qualified applicant(s) and potentially several positions from developers to
designers and systems administrators are also enticing places for new graduates to work. Smaller
start-ups also need completely stacked developers who can play any role from system
administrator to lead developer.
Fi
gure 1.14 The Github website
4.1 Key Terms
application server
authentication server
bandwidth
broadband modem
circuit switching
client
client-server model
data center
database server
DevOps dynamic website
fiber optic cable
full-stack developer
HTTP
intranet
mail server
media server
packet switching
peer Request for Comments (RFC)
request-response loop
response
router
server
server farm
static website
user experience
4.2 References