Introduction to Internet Based Programming
Introduction to Internet Based Programming
Internet
The most common definition of the internet is a network of Computers.
The Internet is a heterogeneous network (network of networks), currently comprising of
networks such as wide area cellular networks (GPRS), and gig speed networks such as for digital
television, telephone networks requiring fiber or satellite technologies.
It is a physical network connecting millions of computers using the same protocols for sharing/
transmitting information (TCP/IP). Transmission Control Protocol (TCP) – enables delivery of
sequenced data over the network.
Protocols are a set of rules and procedures that govern the communication between two different
devices or people.
Network
A Network can be defined as a collection of independent entities that are arranged in such a
manner as to exchange data, information or resources.
Computer networks
A computer network can be defined as a collection 2 or more computers connected together
using transmission media (e.g., telephone cables, or Satellites) for the purpose of communication
and sharing of resources.
Networks are used to facilitate communicate between individual devices or people. The other
motivation for networks is the sharing of resources; network makes it possible to share data and
resources
INTERNET ARCHITECTURE
Internet Addresses
Because the Internet is a global network of devices each device connected to the Internet must
have a unique address. Internet addresses are in the form xxx.xxx.xxx.xxx where xxx must be a
number from 0 - 255. This address is known as an IP address.
e.g. a computer with IP address 1.2.3.4 and another computer with IP address 5.6.7.8. The
Internet is represented as an abstract object in-between.
Comp. Comp
1234 Internet 5678
If you connect to the Internet through an Internet Service Provider (ISP), you will be assigned a
temporary IP address for the duration of your dial-in session. If you connect to the Internet from
a local area network (LAN) your computer might have a permanent IP address or it might obtain
a temporary one from a DHCP (Dynamic Host Configuration Protocol) server. In all these cases
to the Internet, your device must have a unique IP address.
The internet is a packet switching network. This means that the messages sent over the internet
are usually broken down to smaller chunks that are transferrable over the internet. Let's say your
IP address is 1.2.3.4 and you want to send a message to the computer 5.6.7.8. The message you
want to send is "Hello computer 5.6.7.8!". The message must be translated from alphabetic text
into electronic signals, transmitted over the Internet, and then translated back into alphabetic text.
This is accomplished through the use of a protocol stack. Every computer needs one to
communicate on the Internet and it is usually built into the computer's operating system (i.e.
Windows, Unix, etc.). The protocol stack used on the Internet is referred to as the TCP/IP
protocol stack because of the two major communication protocols used.
1. Application Protocols Layer - Protocols specific to applications such as WWW, e-mail,
FTP, etc
2. Transmission Control Protocol Layer - TCP directs packets to a specific application on a
computer using a port number.
3. Internet Protocol Layer - IP directs packets to a specific computer using an IP address.
4. Hardware Protocol Layer - Converts binary packet data to network signals and back.
(E.g. ethernet network card, modem for phone lines, etc.)
If we were to follow the path that the message "Hello computer 5.6.7.8!" took from our computer
to the computer with IP address 5.6.7.8, it would happen something like this:
TCP TCP
IP Internet IP
1. The message starts at the top of the protocol stack on the application layer in your computer
and work it's way downward.
2. If the message to be sent is long, each stack layer that the message passes through may break
the message up into smaller chunks of data known as packets.
3. The packets would go through the Application Layer and continue to the TCP layer. Each
packet is assigned a port number, this is because we need to know which program on the
destination computer needs to receive the message because it will be listening on a specific port.
4. After going through the TCP layer, the packets proceed to the IP layer. This is where each
packet receives it's destination address, 5.6.7.8.
5. Now that our message packets have a port number and an IP address, they are ready to be sent
over the Internet. The hardware layer takes care of turning our packets containing the alphabetic
text of our message into electronic signals and transmitting them over the phone line.
6. On the other end of the phone line your ISP has a direct connection to the Internet. The ISPs
router examines the destination address in each packet and determines where to send it. Often,
the packet's next stop is another router.
7. Eventually, the packets reach computer 5.6.7.8. Here, the packets start at the bottom of the
destination computer's TCP/IP stack and work upwards.
8. As the packets go upwards through the stack, all routing data that the sending computer's stack
added (such as IP address and port number) is stripped from the packets.
9. When the data reaches the top of the stack, the packets have been re-assembled into their
original form, "Hello computer 5.6.7.8!"
In the above case, the client sends some information that belongs to site A. It generally sends a
request through its browser (It is a program that is used to fetch the documents on the web).
and also the request generally contains other information like the address of the site, web
page(URL).
The server at site A finds the document then sends it to the client. after that when the user or say
the client finds the reference to another document that includes the web page at site B.
The reference generally contains the URL of site B. And the client is interested to take a look at
this document too. Then after the client sends the request to the new site and then the new page is
retrieved.
The components of WWW
1. Client/Browser
The Client/Web browser is basically a program that is used to communicate with the webserver
on the Internet.
Each browser mainly comprises of three components and these are:
o Controller
o Interpreter
o Client Protocols
The Controller mainly receives the input from the input device, after that it uses the client
programs in order to access the documents.
After accessing the document, the controller makes use of an interpreter in order to
display the document on the screen.
An interpreter can be Java, HTML, Javascript mainly depending upon the type of the
document.
The Client protocol can be FTP, HTTP, TELNET.
2. Server
The Computer that is mainly available for the network resources and in order to provide services
to the other computer upon request is generally known as the server.
The Web pages are mainly stored on the server.
Whenever the request of the client arrives then the corresponding document is sent to the
client.
The connection between the client and the server is TCP.
It can become more efficient through multithreading or multiprocessing. Because in this
case, the server can answer more than one request at a time.
3. URL
URL is an abbreviation of the Uniform resource locator.
It is basically a standard used for specifying any kind of information on the Internet.
In order to access any page the client generally needs an address.
To facilitate the access of the documents throughout the world HTTP generally makes
use of Locators.
URL mainly defines the four things:
Protocol
It is a client/server program that is mainly used to retrieve the document. A commonly
used protocol is HTTP.
Host Computer
It is the computer on which the information is located. It is not mandatory because it is
the name given to any computer that hosts the web page.
Port
The URL can optionally contain the port number of the server. If the port number is
included then it is generally inserted in between the host and path and is generally
separated from the host by the colon.
Path
It indicates the pathname of the file where the information is located.
4. HTML
HTML is an abbreviation of Hypertext Markup Language.
It is generally used for creating web pages.
It is mainly used to define the contents, structure, and organization of the web page.
5. XML
XML is an abbreviation of Extensible Markup Language. It mainly helps in order to define the
common syntax in the semantic web.
Features of WWW
Given below are some of the features provided by the World Wide Web:
Provides a system for Hypertext information
Open standards and Open source
Distributed.
Mainly makes the use of Web Browser in order to provide a single interface for many
services.
Dynamic
Interactive
Cross-Platform
Advantages of WWW
Given below are the benefits offered by WWW:
It mainly provides all the information for Free.
Provides rapid Interactive way of Communication.
It is accessible from anywhere.
It has become the Global source of media.
It mainly facilitates the exchange of a huge volume of data.
Disadvantages of WWW
There are some drawbacks of the WWW and these are as follows;
It is difficult to prioritize and filter some information.
There is no guarantee of finding what one person is looking for.
There occurs some danger in case of overload of Information.
There is no quality control over the available data.
There is no regulation.
There are several applications called Web browsers that make it easy to access the World Wide
Web; e.g. Firefox and Microsoft's Internet Explorer.
Role of web sites in organizations
1. Far Cheaper and Much More Flexible Than Print Advertising
The Internet is extremely different from print advertising in that space is cheap, your
advertisement is accessible for a longer period of time, the content can be changed without
having to ask someone to do it for you (if you use a content management system) and you can
potentially reach a wider audience.
This is not to say that you should not use other forms of advertising at all. You can use it to
entice people to visit your website and find out about your company and potentially open two-
way communication between the potential customer and a sales person.
2. Market Expansion
The Internet has allowed businesses to break through the geographical barriers and become
accessible, virtually, from any country in the world by a potential customer that has Internet
access.
3. Diversify Revenue Streams
A website is not just a medium for representation of your company, it is a form of media from
which everybody can acquire information. You can use this media to sell advertising space to
other businesses.
A recent trend has risen where businesses feature their very own directory of complimentary
services, where the visitor can search for information on a business that will enhance the use of
your service. The business sells complimentary businesses a listing in their directory.
**** A good example is a catering company featuring a directory with businesses such as event
co-coordinators, electronic equipment rental companies, etc.
4. 24/ 7 365
No more turning customers away when its time to close shop, putting up a note saying closed
for public holiday , or leaving an irritating message on your answering service specifying your
trading hours tell them to visit your website for information they are looking for.
5. Offer Convenience
It is far more convenient for a person to research a product on the Internet than it is to get in a
car, drive somewhere and look for or ask someone for information on a product. Also, a
potential customer won’t have to judge a call centre agent to determine whether he/she has
their best interests in mind, or just wants to make a sale.
The potential customer can visit your website whenever they like in their own privacy and
comfort, without the stresses and distractions that exist in the real world .
Your website is a self-service medium for example, instead of having to wait in a long cue
to pay your TV License, you can now do it electronically through the TV License website.
8. Improve credibility
A website gives you the opportunity to tell potential customers what you are about and why
you deserve their trust and confidence. In fact, many people use the internet for pre-purchase
research so that they can determine for themselves whether a particular supplier or brand is
worthy of their patronage, and won t take them for a ride.
The Internet also allows for Viral Marketing where your website visitors spread positive
word-of-mouth about your business - your customers do your marketing!
Site Programming is the practice of writing applications that run on a web server and can be used
by many different people. Many applications work really well as a web application. Some
examples of popular web applications include Flickr, Gmail, and Google Maps. You are able to
upload and view pictures, send email and lookup directions using these web applications and
they are all made possible through web site programming.
DNS
DNS stands for Domain Name System.
This DNS is a Domain Name System. This system is much similar to the telephone directory
system and it allows users to get resources over the internet. A domain name is a unique name
for a web site, like google.com. Domain names must be registered. When domain names are
registered they are added to a large domain name register, and information about your site -
including your internet IP address - is stored on a DNS server. The DNS is a distributed database
system that stores domain names of computers alongside their numerical IP addresses. Since
users mostly remember names as compared to IP addresses, the system is useful to providing the
actual address where an internet resource is stored and this is then used to get and return the
resource to the computer requesting for it. It is designed in such a way that no Single database in
the world stores all the computer names and addresses. Ideally we have different sites in the
world that have these servers and the servers store only a subset of the addresses.
A DNS server is responsible for informing all other computers on the Internet about your domain
name and your site address. The DNS architecture is a hierarchical distributed database and an
associated set of protocols that define:
. A mechanism for querying and updating the database.
. A mechanism for replicating the information in the database among servers.
. A schema of the database.
Method
- Distributed lookup
- Client contacts server(s) as necessary
Each entry in server consists of, Domain name, DNS type for
name, Value to which name corresponds
During lookup, client must supply; Name, Type
The Server Matches both name and type
In web development, 'client side' refers to everything in a web application that is displayed or
takes place on the client (end user device). This includes what the user sees, such as text, images,
and the rest of the UI, along with any actions that an application performs within the user's
browser.
Markup languages like HTML and CSS are interpreted by the browser on the client side. In
addition, many contemporary developers are including client-side processes in their application
architecture and moving away from doing everything on the server side; business logic for
dynamic webpages*, for instance, usually runs client side in a modern web application. Client-
side processes are almost always written in JavaScript.
In the netflix.com example above, the HTML, CSS, and JavaScript that dictate how the Netflix
main page appears to the user are interpreted by the browser on the client side. The page can also
respond to 'events': For instance, if the user's mouse hovers over one of the movie thumbnail
images, the image expands and adjacent thumbnails move slightly to one side to make room for
the larger image. This is an example of a client-side process; the code within the webpage itself
responds to the user's mouse and initiates this action without communicating with the server.
The client side is also known as the frontend, although these two terms do not mean precisely the
same thing. Client-side refers solely to the location where processes run, while frontend refers to
the kinds of processes that run client-side.
*A dynamic webpage is a webpage that does not display the same content for all users and
changes based on user input. The Facebook homepage is a dynamic page; the Facebook login
page is for the most part static.
Much like with client side, 'server side' means everything that happens on the server, instead of
on the client. In the past, nearly all business logic ran on the server side, and this included
rendering dynamic webpages, interacting with databases, identity authentication, and push
notifications.
The problem with hosting all of these processes on the server side is that each request involving
one of them has to travel all the way from the client to the server, every time. This introduces a
great deal of latency. For this reason, contemporary applications run more code on the client
side; one use case is rendering dynamic webpages in real time by running scripts within the
browser that make changes to the content a user sees.
Like with 'frontend' and 'client-side,' backend is also a term for the processes that take place on
the server, although backend only refers to the types of processes and server-side refers to the
location where processes run.
Client-side scripting simply means running scripts, such as JavaScript, on the client device,
usually within a browser. All kinds of scripts can run on the client side if they are written in
JavaScript, because JavaScript is universally supported. Other scripting languages can only be
used if the user's browser supports them.
Server-side scripts run on the server instead of the client, often in order to deliver dynamic
content to webpages in response to user actions. Server-side scripts don't have to be written in
JavaScript, since the server may support a variety of languages.
Increased Revenues
The amount of sales determines the success of every firm. Web design and development may
help a business attract more customers, which leads to higher profitability. These days, the
number of internet business transactions is increasing by the hour. The vast majority of
businesses have leaped at the opportunity to benefit from online sales. An excellent website can
demonstrate to its users that it is committed to providing the finest services and information
possible.
Consistent Performance
Getting fresh leads for your company is a complicated process. You must collect high-quality
data that will eventually translate into visitors, audiences, and customers. This procedure,
however, allows you to build your brand, and it might be daunting at times. You want to
familiarize the audience with the brand to select you when they decide to convert. Web design
allows you to establish and maintain uniformity across all pages of your website. Layout, fonts,
style, and design must be consistent across all of your pages. It seems unprofessional and
unpleasant to have several web designs on your sites.
Cost-effective
Many startups and businesses fail due to losses or low revenues in their various operations. Poor
business practices, such as neglecting internet web services, are part of the failure. Web design
and development are both inexpensive. The appropriate organization of information during web
construction saves a lot of money. These expenses are in addition to the potential profits
generated by the website. Running a business without a website in today's environment is almost
like inviting failure to your door. Thanks to technological developments, most people now use
the internet and websites to look for items and services.
Simpler Navigation
A good online presence for a company requires a user-friendly and responsive website. All of the
content on the website should be simple to read and understand. Online pages should load their
content exceptionally quickly, as specified by the web development process. A good website
gives extra options to a visitor, which assists in navigation. It includes a search box where
customers can type the information they are looking for. It will help to simplify and improve
your website's navigation. It is essential that when the website developer has created the website,
they test the web pages regularly to ensure that the ease of navigation is there at all times. This
process contributes to the resolution or elimination of issues that limit the loading of online
pages.
Maybe you have your doubts about establishing a profession in web development. Or, maybe it's
a swap you haven't thought of yet. Either way, we've compiled seven reasons why you should
study programming to assist you to determine whether web development should be your next
professional step. Heard about web development boot camps?
Given that there will be around 1.4 million computing positions available in 2020, with only
400,000 competent developers to fill them, people interested in obtaining in-demand skills will
undoubtedly profit from having web development and coding in their CV. It's reasonable to
assume there is and will continue to be, strong demand for web developers. You won't have to
worry about finding work for web developers any time soon.
According to U.S. News & World Report, qualified professional web developers make an
average income of $64,970 countrywide. Salary shouldn't be the sole aspect while determining
whether or not to study web development, but it should be taken into account. With the average
household income in the United States being $56,516 in 2017, the typical pay for web developers
seems very decent.
If you're serious about learning how to code, there are various possibilities for web dev courses.
You may get a CS degree, train yourself online, or take a boot camp. All are fantastic
alternatives; it really depends on how fast you want to go out into the job. The upside of boot
camp is that you can know how to code, and code effectively, in 13 weeks. 13 weeks! It's a tough
13 weeks, but you will have individuals devoted to your success in studying and obtaining a job
during your boot camp experience. Before you know it, you'll be in a profession you're finally
enthusiastic about!
Have the flexibility to work whenever you want from wherever—imagine that. All you need for
web development is the internet and a laptop. Not all employment is remote, but if that is your
option, there are remote jobs out there for you.
Tech is the place to be right now. Because there is such a strong demand for web developers and
so few skilled developers to fill those roles, tech businesses are doing a fantastic job at making
work extremely pleasant, if not joyful. If you opt to work for a tech firm as a web developer,
you'll enjoy free meals, ping pong, and rad teammates.
If you're the sort who prefers to work project to project on your own terms, then becoming a
freelance web developer is for you. Once you join the web dev community, you will discover
that there are lots of options for you to freelance. Coming directly out of boot camp, you may
charge $50 an hour—depending on where you live—for your job. And, it will only rise as you
get more competent.
Web development allows you the possibility to express yourself artistically on the internet. If
you have a concept you would want to attempt while you learn your web dev talents, check it
out. Web dev is a joyful, creative activity.
Deciding on a job will always be a tough choice, particularly when you're unclear of what the
conclusion will be after you've put time and money into learning a new craft. Fortunately, the
high-demand, easy-to-learn, fun-to-experience life of a web developer is always a terrific option
for someone willing to have an exciting career in coding.