The HTTP
protocol is typically the most popular protocol in use within the TCP/IP arena.
Every day vast amounts of people use it within their internet sessions, when
they surf the net.
In this
article I will explain how this server works for individuals who need or want
to comprehend this mechanism.
(The
HTTP server must be installed in computers which hold html pages for that
browsers to display).
The HTTP
server starts a 'listening' socket for incoming link with it. When a internet
browser (the HTTP server's client) transmits a request, it processes the ask
for and sends back a solution. The browser request appears like this:
"GET
/index. html HTTP/1. 1
Web
host: qms. siptele. com
User-Agent:
Mozilla/5. 0 (Windows; Ough; Windows NT 6. 0; en-US; recreational vehicle: 1.
9. 2. 10) Firefox/3. 6. 10
Take:
image/png, image/*; q=0. 8, */*; q=0. 5
Accept-Language:
en-us, durante; q=0. 5
Accept-Encoding:
gzip, deflate
Accept-Charset:
ISO-8859-1, utf-8; q=0. 7, *; q=0. 7
Keep-Alive:
115
Link:
keep-alive
Referer:
"
The HTTP
server actively seeks a file name "index. html" in the HTTP
underlying directory and sends this back if exists or inform how the file does
not is available - error code "404" as some people noted.
The
request consists of several lines with significance:
The
"Host" line informs the HTTP server whose host is within reference.
This field allows the HTTP server to take care of several hosts (or domains) in
a single server. It just accumulates this value and use the proper root
directory with this host.
The
"User-Agent" tells the actual server which browser is within use. In
our case it's "Firefox" browser. This field doesn't have special
importance, it just permits us to get statistics about the browsers percentage
being used.
The
accept fields inform the server concerning the browser capabilities. The server
attempts in order to send back content how the browser can handle.
The
"keep alive" tells the server how the browser wants to make use of
the current socket for approximately 115 times for requests/responses.
The
"Referrer" field is the most crucial information for Internet
entrepreneurs. It tells the server that page the browser originated from. This
information is logged and informs us such things as:
a. What
search phrases where utilized in the search engine (like Google) to locate us.
b. Which
advert of ours gets clicked on.
c. Which
article/page points to the site generated this go to.
This
information is invaluable. It tells us exactly how are marketing efforts
performing. If we run ads searching engines for example we are able to know
which ad is actually performing better then other people, and focus on this.
The
first HTTP servers where effective at locating files and sending these phones
the browsers. Later on the requirement to access databases arouse and delivered
to the creation of "CGI" (Common Entrance Interface) programs. The
CGI is actually a native program that runs through the HTTP server in a unique
process environment, gets some request parameters in the server and processes
this.
After
the processing it returns the info to the HTTP server which sends it to the
browser.
Having a
native program running about the server opens many options towards the
programmer. He can entry and process information within databases, create
dynamic behavior from the system and open totally new ways of system abilities.
Opening
the system additionally increased the vulnerability from the computer to
hacking...
Following
several penetration incidents, a brand new restricting set of rules happen to
be developed for the server. The server now has privileges of the restricted
account and team, so it could only run within the predefine directories
allocated into it, and not access the whole system. Having restricted account
also helps to ensure that an intruder gaining shell use of the server (after
crashes the HTTP server) won't be able to see as well as utilize system
information to achieve control over the pc itself.
There
was a demand for managing a script language to relieve the developing time.
This demand was clarified by company called "Zend" which developed a
scripting vocabulary called "PHP" which means "Personal Home
Page". After i say "scripting language" I am talking about a
language that is actually interpreted line by collection at execution time.
Such languages take additional time to parse and perform compatible to native
programs (that simply need to be run), but the rapid improve in computer
performance causes it to be irrelevant.
PHP
gained a huge user-base and is among the top scripting languages being used
today. To run this, the HTTP server will need a PHP interpreter in order to
process it. When the HTTP server requested to take care of a PHP program this
run the PHP interpreter like a CGI program, and this interpreter has got the
PHP script and procedures it.
A new
mechanism was invented to maintain information in the internet browser, which
are called "cookies". Cookies are short quantity of information sent
from the actual HTTP server and kept through the browser. The browser keeps
these details and sends it each time it accesses the HTTP server. This
information allows keeping state information for a long period. The information
often consists of username and session -id so people do not have to fill their
username and password each time they access the HTTP server. This is the way
Gmail "remembers" the person and session that users have and permit
them to open the correct Email page without requesting credentials every time.
Nowadays
the HTTP server are extremely sophisticated. Web 2. 0 allows sending many
requests towards the browser and get responses with no need to refresh the
entire screen. This makes it simple to process information inside the actual
page without affecting the entire page. This makes it easy and interactive to
switch information quickly in websites like Facebook.
Owner of Woodstone - Home of Servers Alive Network Monitoring application