11.07.2015 Views

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

508 Web servicesWhen a user types in (or clicks on) a link in the browserwindow, the browser sends a HTTP request (see http <strong>and</strong>web browser). To construct the request, the browser firstlooks at the address (URL) in the user request. An addresssuch as http://www.well.com/conferencing.html consists <strong>of</strong>three parts:• The protocol, specifying the type <strong>of</strong> request. For Webpages this is normally http. In many cases this partcan be omitted <strong>and</strong> the browser will assume that it ismeant.• The name <strong>of</strong> the server—in this case, www.well.com. The www indicates that it is a World Wide Webserver. The rest <strong>of</strong> the server name gives the organization<strong>and</strong> the domain (.com, or commercial).• The specific page being requested. A Web page is simplya file stored on the server, <strong>and</strong> has the extensionhtm or html to indicate that it is an HTML-formattedpage. If no page is specified, the server will normallyprovide a default page such as index.html.In order to direct the browser’s request to the appropriatehost <strong>and</strong> server, the browser sends the URL to a nameserver (see domain name system). The name server providesthe appropriate numeric IP address (see tcp/ip). Thebrowser then sends an HTTP “get” request to the server’s IPaddress.Assuming the page requested is valid, the server sendsthe HTML file to the browser. The browser in turn interpretsthe formatting <strong>and</strong> display instructions in the HTMLfile <strong>and</strong> “renders” the text <strong>and</strong> graphics appropriately. It isremarkable that this whole process from user click to displayedpage usually takes only a few seconds, even if theWeb site is thous<strong>and</strong>s <strong>of</strong> miles away <strong>and</strong> requests must berelayed through many intervening computers.Web Server FeaturesWeb servers would be simple if Web pages consisted only<strong>of</strong> static text <strong>and</strong> graphics. However, Web pages today aredynamic: They can display animations, sound, <strong>and</strong> video.They also interact with the user, responding to menus<strong>and</strong> other controls, presenting <strong>and</strong> processing forms, <strong>and</strong>retrieving data from linked databases. To do these things,the server cannot simply serve up a preformatted page, itmust dynamically generate a unique page that responds tothe user’s actions.This interactivity requires that the server be able torun programs (scripts) embedded in Web pages. The CommonGateway Interface (CGI) is the basic mechanism forthis, though many Web page developers can now work at ahigher level to create their page’s interaction through scriptsin languages such JavaScript. (See cgi <strong>and</strong> scripting languages.)The task <strong>of</strong> interfacing Web pages with databasefacilities is <strong>of</strong>ten accomplished using powerful data-managementlanguages (see Perl <strong>and</strong> Python).Windows-based servers use ASP (Active Server Pages), afacility that links the Web server to Windows ActiveX controlsto access databases. The interaction is usually scriptedin VB Script or JScript.Modern Web server s<strong>of</strong>tware also contains modules formonitoring <strong>and</strong> security—an increasingly important considerationas Web sites become essential to business <strong>and</strong>the delivery <strong>of</strong> goods <strong>and</strong> services.One <strong>of</strong> the most popular <strong>and</strong> reliable Web servers inuse today is Apache, developed in 1995 <strong>and</strong> freely distributedwith Linux <strong>and</strong> other UNIX systems (there is also aWindows version). The name is a pun on “a patchy server,”meaning that it was developed by adding a series <strong>of</strong> “s<strong>of</strong>twarepatches” to existing NCSA server code. Micros<strong>of</strong>t alsoprovides its own line <strong>of</strong> Web server s<strong>of</strong>tware that is specificto Windows.The future should see an increasingly seamless integrationbetween Web servers, browsers, <strong>and</strong> other applications.Micros<strong>of</strong>t has been promoting .NET, an initiative thatis designed to build Internet access <strong>and</strong> interoperabilityinto all applications, providing operating system extensions<strong>and</strong> programming frameworks (see Ajax <strong>and</strong> Micros<strong>of</strong>t.NET).Beyond Micros<strong>of</strong>t’s mainly proprietary efforts, anothersource <strong>of</strong> integration is the growing use <strong>of</strong> the ExtensibleMarkup Language (see xml) <strong>and</strong> its <strong>of</strong>fshoot SOAP (SimpleObject Access Protocol) (see soap). The goal is to give Webdocuments <strong>and</strong> other objects the ability to “communicate”their content <strong>and</strong> structure to other programs, <strong>and</strong> to allowprograms to freely request <strong>and</strong> provide services to oneanother regardless <strong>of</strong> vendor, platform, or location. As thistrend progresses, the Web server starts to “disappear” as aseparate entity <strong>and</strong> the provision <strong>of</strong> Web services becomes adistributed, cooperative effort (see also Web services).Further ReadingApache S<strong>of</strong>tware Foundation. Available online. URL: http://www.apache.org/. Accessed August 23, 2007.Aulds, Charles. Linux Apache Web Server Administration. 2nd ed.Alameda, Calif.: Sybex, 2002.Braginski, Leonid. Running Micros<strong>of</strong>t Internet Information Server.New York: McGraw-Hill, 2000.Jones, Brian W. How to Host Your Own Web Server. Morrisville,N.C.: Lulu.com, 2006.Rosenbrock, Eric, <strong>and</strong> Eric Filson. Setting Up LAMP: Getting Linux,Apache, MySQL, <strong>and</strong> PHP Working Together. Alameda, Calif.:Sybex, 2004.Silva, Steve. Web Server Administration. Boston: Course <strong>Technology</strong>,2003.Web servicesA characteristic <strong>of</strong> the modern Web <strong>and</strong> its development isthat much <strong>of</strong> the s<strong>of</strong>tware is designed to <strong>of</strong>fer services orcapabilities that can be called upon by applications. Thiscreation <strong>of</strong> powerful, versatile building blocks has greatlysped the evolution <strong>of</strong> Web applications (see Web 2.0 <strong>and</strong>beyond).In order to be useful, a service must be able to underst<strong>and</strong>“messages” (requests) <strong>and</strong> provide appropriateresponses. The medium <strong>of</strong> exchange is a structured textfile (see xml) <strong>and</strong> a st<strong>and</strong>ard format. Three commonly usedspecifications (defined by the World Wide Web Consortium,or W3C) are what was originally called Simple Object

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!