The Fundamentals of Web Development and Its Principles (Part 1)

by appstudio February 13, 2020 Time to Read Blog: 6 minutes

To understand the fundamentals of web development, it is necessary to know the different protagonists that interact with each other in the online field, entities that facilitate what we know by “the web”, one of the various mechanisms and services of the Internet, is made possible.

Whether your profile is that of a user or navigator or that of an applicant to introduce you to the world of web development, with this post, you can familiarize yourself with the related basic concepts and their fields of action. You will discover very interesting aspects that you will be very familiar with since, after all, you are also part of the complex network that is the Internet in one way or another. Do we start?

What is the Internet?

The Internet is a decentralized system of connected computer networks, distributed throughout the world, which is available to offer communication services through data.

Its origin is based on a computer system whose objective was to facilitate scientific collaboration in military investigations, it was 1969 and the name of the invention was called Arpanet.

The objective was to prevent communications from being cut off by an enemy attack, so to connect the computers they prevented the possibility of using different routes, favoring the failure to maintain communication.

Also, different networks connected, so the concept of network networks was coined. This property is still preserved today despite the numerous technological advances that have contributed to its evolution.

The Internet today is a great physical communications infrastructure that supports a great set of services, to which we usually connect to interact with the infinite variety of content that exists. For this, we use different devices and software with different languages and protocols.

How the web works

The web is a system of distribution and recovery of documents based on hypertext that was born in a nuclear physics laboratory in the late ’80s. It is a service that allows us to navigate through the many web pages that are hosted on servers from all over the planet.

We find what interests us thanks to search engines that track links thanks to the “HTTP” protocol and the “HTML” hypertext markup language that is responsible for composing pages in browsers.

The fact of putting an address in our browser is comparable to dialing a telephone number, our computer as a client making a call contacts the server that is linked to that address receiving the request, this server attends it by sending us a language or code that our browser presents after interpreting it.

This process so simple and with which we are so familiar implies a great complexity in its operation and the intervention of many actuators.

Client-server paradigm

The servers are computers that connect to the internet with the appropriate software to allow the consultation of information stored on them by other computers connected to the network. A server can be any home computer or belong to an infrastructure of small or large data centers and is indispensable within web development.

The limitations of an individual or domestic equipment make its use inappropriate to perform tasks such as serving information to a large number of requests at the same time, besides, the type of connections and bandwidth of equipment with these characteristics is usually limited.

Another drawback is the fact that the information should be available permanently, and provide the possibility of making periodic backup copies of this stored or updated information, apart from offering other minimum security requirements for consultation and protection.

These reasons make it a common practice to choose a specialized web hosting provider to rent the space that the files, consultation websites or applications that we have on the servers they manage will occupy.

These professional servers do not always serve the information more quickly, but they are prepared to support a multitude of accesses continuously and have a bandwidth considerably higher than that which can be used in a home or work network. They are usually stacked or arranged in a rack and forming towers, with their location in special facilities equipped with security measures.

Users who connect to the network to request information from servers need to do so by using web client software, this is the browser we use regularly. You can also use software that allows you to interact through different protocols, such as the FTP protocol, allowing you to fully download files from the hard disk available on the server.

When in our browser we request by entering a URL in the address bar, this request is collected by a domain name or DNS server, this server translates the URL into an IP address, which in turn is used by the browser to locate the web server that hosts the specific page.

Depending on the characteristics and focus on the web development of the pages of the site, different things can happen:

Static websites:

In the case of an HTML page, it is transferred to the browser along with its associated contents stored in directories through routes, such as images, video or audio, style sheets, etc. If there is any type of script in the composition of the page it will be executed on the client-side thanks to the new browser.

Dynamic web sites:

In this case, the initial process is similar to the previous one, but after the browser requests, the page and the DNS server that gives you the IP, on the server-side other processes take place to search, find and return information. These are queries to databases that run through server-side languages, such as PHP, .NET, Ruby, etc. thanks to which the page is composed to send it to the browser along with the other elements described above.

What is the DNS?

The IP addresses identify each of the devices that connect to the Internet, are like telephone numbers that interact through the network with the corresponding terminal facilitating the connection.

The IPs are formed by groups of numbers, for example … 897.657.210.345, but how to memorize them would not be viable due to the amount of them that we can consult throughout the day, there is a system of domain names that facilitate a smooth navigation, These are the domain names that we choose to define the URLs, and which are also the aliases of these IP addresses that are difficult to remember.

The DNS (Domain name system) are precisely those that are responsible for translating those domain names that benefit us in the IPs interpreted by the machines. They are tables with the equivalences between domains and IP addresses, distributed and replicated by different servers around the world, and are updated continuously thanks to scheduled connections. Our internet access distributor provides us with two DNS server addresses.

Internet service providers usually grant a different IP each time the home or work equipment is connected, unless a fixed IP is requested for an additional cost. However, the servers that host the information use fixed IPs, preventing the recognition of their location from changing locations.

When a certain content, page or website changes associated with a new domain and IP, a process is known as “DNS propagation” is launched. It is what is called the conceptual space of time that it takes to associate the information with the new address to be able to request it, and it is also done on servers around the world.

Internet protocols in web development

Internet protocols, so important to consider in web development, are sets of standards that allow data sharing between different computers and devices regardless of their architecture or operating system. The protocols are fundamental in the system since they are used as standards to guarantee the operation of everything on the Internet.

The Internet uses a family of network protocols known as TCP / IP (transmission protocol) and Internet protocol respectively. This set of protocols is numerous, although mostly a small group is used consciously.

Each of these protocols is designed for very specific tasks such as HTTP to navigate, FTP to transfer files more efficiently, SMTP to transfer mail from client to server, or POP to download mail messages from the server to the mail client inbox, IMAP that is similar to POP but with added features, RTP for audio or video delivery over the internet used in voice over IP transmissions and in chat, Telnet and SSH applications to create interactive remote connections in the form of a virtual terminal, etc. There are a few more.

TCP / IP operates through the use of a stack of layers between which the necessary protocols for completing a data transfer are distributed. Layers are also the different levels that the data goes through.

Anatomy of a URL

A URL (uniform resource locator) allows locating the correct server thanks to its syntax, and to the server to locate the requested resource, since the files of the web pages are housed in the hard drives of the servers, and generally distributed in different folders or directories.

URLs can be very long and complex or very short and simple

Example: http://www.restaurant.ca

If we analyze its parts, they would be the following:

  • The “HTTP” start is the navigation protocol
  • The colon and bars “: //” are responsible for separating the protocol from the resource name.
  • The characters “www” refer to the main subdomain.
  • The name “restaurant” represents the second-level domain.
  • The “.ca” extension is the first level domain.

The last two parts “restaurant” and “.ca” make up the concept of domain or name used by the browser to locate the server and its content. Normally it is not necessary to use the main subdomain “www” since the same server usually selects the one by default, being able to simply enter “restaurant.ca” to be redirected to the complete and correct address of the web page.

The sole purpose of this post is to make you understand the concept of web development and its nitty-gritty so that you make an informed decision while hiring an agency for your next project. In our next blog, we will be discussing the working of a browser, Web and W3C standards, front and backend technology. So stay tuned!

appstudio

Appstudio is a full service Mobile App Design & Development Company offering services in Native iOS Development (Swift 5.1), Native Android Development (Java and Kotlin), React Native Development & Unity Game Development. They have collaborated with Fortune 500 companies, Startups and Mid Sized firms across a spectrum of industries, ranging from Health Care & Finance to On-Demand Services, to create Mobile apps that are actively being used by Millions of users across the globe.

Recent Articles

Top 10 Blockchain Development Companies Winnipeg

There is no denying that Blockchain technology is here to...

The Fundamentals of Web Development and...

To understand the fundamentals of web development, it is necessary...

Top 10 Web Development Companies Calgary

The knowledge and skills linked to web development are the...