Web Server Technology


  • Nancy Yeager
  • Robert McGrath

The success of the web depends not only on the creation of stimulating and valuable information, but also on the speed, efficiency and convenient delivery of this information to the Web consumer. This authoritative presentation of web server technology takes you beyond the basics to provide the underlying principles and technical details of how WWW servers really work. It explains current technology and suggests enhanced and expanded methods for disseminating information via the Web.
View full description


Book information

  • Published: March 1996
  • ISBN: 978-1-55860-376-9

Table of Contents

Web Server TechnologyThe Advanced Guide for World Wide Web Information ProvidersNancy J. Yeager, Robert E. McGrathPrefaceChapter 1 Introduction 1.1 A Brief Plan of the Book1.2 An Overview of The World Wide Web1.3 The Documents1.3.1 Digital Media1.3.2 MIME Types1.3.3. Hypertext1.4 The Internet1.5 The Web Server and Web Client Software1.5.1 A Brief Survey of Web Server SoftwareChapter 2 Web Server Technology2.1 Overview2.1.1 Web Server Components2.1.2 The Hypertext Transfer Protocol (HTTP)2.1.3 What a Web Server Does Not Know2.2 The Information: Documents and the Document Tree2.2.1 The Information to Be Served: The Web Documents2.2.2 Organization of the Document Tree2.3 The Hypertext Transfer Protocol (HTTP)2.3.1 The Request (Client to Server)2.3.2 The Response (Server to Client)2.4 How It Works2.4.1 Handling More than One Request at a TimeClose-up Serving a Web Document: A Step-by-Step Example2.4.2 More Than One Web Service on the Same Server2.4.3 A Two-Way Network Connection2.4.4 Finding and Accessing Files2.4.5 Inline Images2.5 Access Control2.6 Access to Other Protocols: FTP, Gopher, and WAIS2.7 Non-UNIX Servers2.8 Future Improvements to the HTTP Protocol and Web Servers2.8.1 Addressing the Problems with HTTP2.8.2 A New HTTP?2.8.3 Publishing and Managing the InformationChapter 3 Web Scripts, Gateways, and Forms3.1 Overview3.2 What is a Script?3.2.1 What Files are Executable Scripts?3.2.2 Making the Script Run: The Common Gateway Interface (CGI)3.2.3 A User's View of a Script3.2.4 A Web Server's View of ScriptsClose-up A Simple Example of a Script3.2.5 Costs of Using Scripts3.2.6 Using Perl and Shell Scripts3.2.7 When Problem Occur3.3 Scripts and Forms3.3.1 How It Works: An Example of How Scripts and Forms Work Together3.3.2 The HTML Form3.3.3 How Arguments are Passed to Web Scripts3.3.4 Executing the Request3.3.5 Converting Input and Output3.3.6 Costs of Using Forms and Gateways3.3.7 Using a C Program Instead of a Shell Script3.3.8 Calling the Server Twice3.4 Dynamic Documents and Other Interactive Features3.4.1 Imagemaps3.4.2 Server-Side Includes3.4.3. Netscape Push-Pull Documents3.4.4 Annotations3.4.5 Other Interactive Features3.5 Security Concerns for Scripts and Forms3.5.1 Parsing and Checking User Input3.5.2 Programs Have Only the Power Required3.5.3 Run-time and Dynamically Generated ProgramsMore about How Scripts and Forms Work TogetherPhase 1: Get the Form from the ServerPhase 2: Intermezzo - the User Fills in the Form (At the Client)Phase 3: The Filled-in Form is Sent to the Web Server, and the Search is PerformedChapter 4 Architecture, Configuration, and Performance of Web Servers4.1 Measuring the Performance of Web Servers4.1.1 What to Measure4.1.2 How to Measure a Web Server4.1.3 In the Field: Measuring and Operational Web Server4.1.4 In the Laboratory: Controlled Experiments4.1.5 Software Instrumentation4.2 Performance of the Web: Browsers and Networks4.2.1 The Browser and the Client System4.2.2 The Network4.2.3 Network Protocols and the Web4.3 Performance of Web Servers4.3.1 Overview4.3.2 Alternative Web Serve Architectures4.4 ConclusionMore about the Experiments Reported in This ChapterThe Overall SetupThe Web PingerThe Configuration of the Web ServersThe Data CollectedThe Requests UsedScriptsInstrumented Web ServersCaveatsMore about the Performance ResultsMore about a TCP SessionMore about Passing Network Connections from Dispatcher to HelperChapter 5 Web Document Distribution and Caching5.1 Organization of the Document Tree5.2 Location-Independent Names5.3 Caching Web Information5.3.1 How Web Caching Works5.3.2 The Effectiveness of Caching5.3.3 Theory and Principles: the Costs5.3.4 Practice: How Well Does it Work in Real Life?5.3.6 Hierarchical Caching5.3.7 Unresolved Problems for Web Caching5.4 ConclusionChapter 6 Searching for Information on the Web6.1 A Conventional Library6.2 Library Services for the Web6.3 Acquisitions6.4 Cataloging and Creating an Index6.5 The Web and Indexing6.6 Searching an Index6.7 Indexing and Searching with WAIS6.7.1 The WAIS Indexer6.7.2 The WAIS Search and Retrieval Functions6.7.3 WAIS and the Web6.8 Searching Traditional Databases on the Web6.8.1 Forms, Databases, and Retrieval6.8.2 Using Databases as Indexes to a Document Collection6.8.3 Using Databases as Document Repositories6.8.4 Gateways, Databases, and State6.9 Searching a Set of Indexes6.9.1 Achieving Transparency6.9.2. Fast Access and Distributed Indexes6.10 ConclusionsMore about Using WAIS with Web ServersStep 1: Create an IndexStep 2: Setting up the WAIS ServerStep 3: Searching the IndexStep 4: WAIS RetrievalMore about WAIS GatewaysChapter 7 Secure Web Services7.1 A Framework for Web Security7.1.1 Step 1: Defining Assets7.1.2 Step 2: Defining Risks7.1.3 Step 3: Establishing a Security Policy for the Web Service7.1.4 Step 4: Choosing the Right Security Mechanisms7.1.5 How the Web Service Can Fail7.2 Threats, Risks, and Security-Enhancing Mechanisms for Web Service Providers7.2.1 Threats to Internet Hosts7.2.2 Mechanisms for Securing an Internet HostClose-up Internet Security7.2.3 Web Server Software Vulnerabilities7.2.4 Configurating the Web Server for Minimal Access7.2.5 Authentication and Access Control Mechanisms7.3 Threats, Risks, and Security-Enhancing Mechanisms for the Consumer of Services7.3.1 Information Leakage7.3.2 Content Negotiation7.3.3 Executing Powerful Viewers7.4 Firewalls and the Web7.4.1 Accessing the Web through a Packet Filtering Router7.4.2 Accessing the Web through a Circuit Gateway7.4.3 Accessing the Web through an Application Gateway7.5. ConclusionMore about Firewall TechnologyPacket Filtering RoutersCircuit GatewaysApplication GatewaysChapter 8 Digital Commerce: Risks, Requirements, and Technologies8.1 A Familiar Model for Commercial Transactions: Credit Cards8.2 Identifying Yourself8.2.1 Biometrics8.3 The Web, Security, and the Internet8.4 Interim Digital Commerce Services for the Web8.5 Requirements for Digital Commerce8.6 Technology to Meet These Requirements8.6.1 Cryptography8.6.2 Private Key Cryptography8.6.3 Public Key Cryptography8.6.4 Hashing Algorithms8.6.5 Digital Signatures8.6.6 Certificates, Certificate Authorization, and the Web8.7 Integrating Cryptographic Algorithms and the Web8.7.1 Selecting a Cryptographic Algorithm8.7.2 Key Generation and Destruction8.7.3 Key Storage and Use by the Application8.7.4 Key Distribution across an Insecure Public Network8.7.5 A Common Key Distribution Scheme8.8 Operational Considerations for Digital Commerce Systems8.8.1 Low-Tech Threats8.8.2 Denial of Service8.8.3 False Service Provider8.9 Selecting a Secure Web Service8.10 Secure HTTP (S-HTTP)8.10.1 Creating the Secure Document8.10.2 Completing the Secure Transaction8.11 The Secure Socket Layer8.12 Which is Better?8.13 Electronic Payment Protocols and the Web8.14 Private Anonymous Transactions and Digital Cash8.15 ConclusionReferencesIndex