throbber
Expert coverage of the latest and
`hottest Web development topics:
`• Web site planning and design
`• Multimedia, sound, animation, 3-D graphics
`• Interactive application and datagase programming
`• JavaScript"" integration within HTML documents
`• Macromedia° Director and ShockwaveT"
`• Streaming audio and video
`• Integration with news and mailing lists
`• Perl 5, VBScript, JavaScript'", C, and CGI
`4 ~ Microsoft° FrontPageT"' and Netscape`" LiveWire`"'
`
`:12 best-selling Web development
`books from Que's Digital library!
`• Special version of
`Microsoft Visual J++
`(which is governed by the end-user
`agreement on the inside back cover)
`
`T-
`
`t Dozens of incredible software tools for creating and I
`implementing HTML and Web page programming
`
`~~
`
`u
`
`•
`
`♦ ` -.♦
`
`Facebook's Exhibit No. 1026
`Page 1
`
`

`

`i
`
`~;
`
`i4: I!
`
`'
`
`~,
`
`Before opening this package, you must accept the Licensing
`Agreement printed inside the back- cover. If you do not accept the
`terms of the Licensing Agreement,~you should promptly return the
`product for a refund.
`
`Facebook's Exhibit No. 1026
`Page 2
`
`

`

`~'~
`
`.~
`
`SINS
`
`t t
`
`•
`
`•
`
`Written by Eric Ladd and Jim O'Donnell with
`
`Jeyyy Ablan ~ Tobin Anthony •Donald Doherty •Jeffry Dwight
`Mike Ellsworth •Michael Erwin •Simeon Greene •John Jung
`Greg Knauss •Tom Lockwood •Mike Morgan s Robert Niles
`Bernie Roehl •Paul Santa Maria •Ryan Sutter
`
`~~~o
`
`Facebook's Exhibit No. 1026
`Page 3
`
`

`

`;•~;
`
`Platinum Edition Using HTML 3.2, Java 1.1,
`and CGI
`CopyrightOO 1996 by Queue Corporation.
`All rights reserved. Printed in the United States of America. No part
`of this book maybe used or reproduced in any form or by any
`means, or stored in a database or retrieval system, without prior
`written permission of the publisher except in the case of brief quota-
`tions embodied in critical articles and reviews. Making copies of
`any part of this book for any purpose other than your own personal
`use is a violation of United States copyright laws. For information,
`address Que Corporation, 201 W. 103rd Street, Indianapolis, IN,
`46290. You may reach Que's direct sales line by calling 1-800-428-
`5331.
`Library of Congress Catalog No.: 96-71191
`ISBN: 0-7897-0932-5
`This book is sold as is, without warranty of any kind, either express
`or implied, respecting the contents of this book, including but not
`limited to implied warranties for the book's quality, performance,
`merchantability, or fitness for any particular purpose. Neither Que
`Corporation nor its dealers or distributors shall be liable to the
`purchaser or any other person or entity with respect to any liability,
`loss, or damage caused or alleged to have been caused directly or
`indirectly by this book.
`654
`9897
`Interpretation of the printing code: the rightmost double-digit num-
`ber is the year of the book's printing; the rightmost single-digit
`number, the number of the book's printing. For example, a printing
`code of 96-1 shows that the first printing of the book occurred in
`1996.
`All terms mentioned in this book that are known to be trademarks
`or service marks have been appropriately capitalized. Que cannot
`attest to the accuracy of this information. Use of a term in this book
`should not be regarded as affecting the validity of any trademark or
`service mark.
`Screen reproductions in this book were created using Collage Com-
`plete from Inner Media, Inc., Hollis, NH and Capture from Main-
`stay, Camarillo, CA.
`
`Facebook's Exhibit No. 1026
`Page 4
`
`

`

`Credits
`
`PRESIDENT
`Roland Elgey
`
`PUBLISHER
`Joseph B. Wikert
`
`PUBLISHING MANAGER
`Jim Minatel
`
`EDITORIAL SERVICES DIRECTOR
`Elizabeth Keaffaber
`
`MANAGING EDITOR
`Sandy Doell
`
`DIRECTOR OF MARKETING
`Lynn E. Zingraf
`
`ACQUISITIONS MANAGER
`Cheryl D. Willoughby
`
`ACQUISITIONS EDITORS
`Stephanie Gould
`Stephanie McComb
`Philip Wescott
`
`PRODUCT DIRECTORS
`Benjamin Milstead
`Mark Cierzniak
`Jacquelyn D. Eley
`Stephen L. Miller
`Steven M. Schafer
`Jon Steever
`
`SENIOR EDITORS
`Patrick Kanouse
`Caroline D. Roop
`Susan Ross Moore
`
`PRODUCTION EDITOR
`Bill McManus
`EDITORS
`Kelli Brooks, Elizabeth Bruns, Sean Damon,
`Sherri Fugit, Aaron Gordon,, Patricia Kinyon,
`Judy Ohm, Jade Williams
`
`ASSISTANT PRODUCT MARKETING MANAGERS
`Karen Hagen
`Christy M. Miller
`
`STRATEGIC MARKETING MANAGER
`Barry Pruett
`
`TECHNICAL EDITORS
`Bill Bruns, Matthew Brown, Kyle Bryant,
`Brian Cooper, Jim Hofman, Russ Jacobs,
`Jon Sahaydak, Ernie Sanders, Tony Schafer,
`Glenn Smith, Henry Staples
`TECHNICAL SUPPORT SPECIALISTS
`Mark Costlow
`Nadeem Muhammed
`
`ACQUISITIONS COORDINATOR
`Jane K. Brownlow
`
`SOFTWARE RELATIONS COORDINATOR
`Patty Brooks
`
`EDITORIAL ASSISTANTS
`Jennifer Condon
`Andrea Duvall
`
`BOOK DESIGNER
`Ruth Harvey
`
`COVER DESIGNER
`Jay Corpus
`
`PRODUCTION TEAM
`Kevin Cliburn, Maribeth Echard, Trey Frank,
`Julie Geeting, Tammy Graham, Jason Hand,
`Daniel Harris, Kay Hoskin, Tony McDonald,
`Anjy Perry, Casey Price, Erich Richter,
`Kaylene Riemen, Nicole Ruessler,
`Sossity Smith, Staci Somers, Lisa Stumpf,
`Marvin Van Tiem, Donna Wright
`INDIXER
`grad Herriman
`Craig Alan Small
`
`Composed in Century Old Style and ITC Franklin Gothic by Que Corporation.
`
`Facebook's Exhibit No. 1026
`Page 5
`
`

`

`Contents at a Glance
`
`Introducing HTML
`1 Page Design 11
`2 Site Design 31
`3 Building Blocks of HTML 53
`
`Working with HTML Documents
`4 The Document Tags 71
`5 Formatting the Document Body 91
`6 Displaying Content in Lists 113.
`7 Linking HTML Documents 129
`
`111
`
`~ HTML Graphics
`8 Adding Graphics to HTML Documents 145
`9 Image Maps 163
`10 Graphics Tips and Tricks for Web Sites 181
`
`IV I Advanced HTML Functions
`11 HTML Forms 197
`12 Tables 219
`13 Frames 237
`14 HTML Style Sheets 253
`
`V ~ HTML E~ctensions and Additions
`15 Netscape Navigator-Specific HTML Extensions 267
`Internet Explorer-Specific HTML Extensions 285
`16
`17 Proposed Additions to HTML 303
`
`VI ~ WYSIWYG HTML Editors
`18 Using Netscape Navigator Gold 317
`19 Using Microsoft FrontPage 335
`20 Using Adobe PageMill 363
`
`Facebook's Exhibit No. 1026
`Page 6
`
`

`

`VII
`
`~ Key HTML Issues for Webmasters
`21 HTML Validation 389
`22 Key Graphics Utilities for Webmasters 411
`23 Key Web Access and Security Concerns for Webmasters 431
`24 Developing Webs with Netscape LiveWire and LiveWire Pro 479
`
`Vill ~ Developing Multimedia and Interaction
`25 Developing Content for Plug-Ins 513
`26 Adding Video to Your Site 533
`27 Adding Audio to Your Site 545
`28 Adding Live or Streamed Media to Your Site 561
`29 Shocking Your Web Site 581
`30 Document Types for Business 605
`
`IX I CGI
`31 The Common Gateway Interface 631
`32 Generating HTML in Real Time 661
`33 Server-Side Includes 677
`34 Transactions and Order Taking 711
`35 CGI Security 729
`36 Custom Database Query Scripts 751
`3? Web Database Tools ??7
`
`X ~ Advanced Web Options
`38 Client Pull/Server Push 789
`39 News and Mailing List Gateways 799
`40 Creating Live Chat Pages 82?
`
`XI ~ JavaScript and Java
`41 JavaScript 849
`42 Developing Java Applets 887
`43 User Input and Interactivity with Java 929
`44 Java Graphics and Animation Programming 975
`45 Network Programming and Java 1029
`46 Java and Security 1047
`47 Developing with LiveConnect 1065
`
`Facebook's Exhibit No. 1026
`Page 7
`
`

`

`XI I ~ ActiveX Technologies
`48 ActiveX Scripting: VB Script and JScript 1085
`49 ActiveX Controls 1131
`50 Web Authoring with ActiveX Controls 1157
`51 ActiveX Documents 1181
`
`Xill ~ The Virtual Reality Modeling Language
`52 Creating VRML Objects 1201
`53 Creating VRML Worlds 1231
`54 VRML 2.0: Moving Worlds 1263
`55 Java and VRML 1295
`
`XIV
`
`~ Indexes and Search Engines
`56 Inde~ng with CGI 1341
`57 Adding an Online Search Engine 1373
`
`Index 1403
`
`Bonus Chapters in Electronic Format on CD-ROM
`Real-World Web Sites I
`Real-World Web Sites II
`
`Facebook's Exhibit No. 1026
`Page 8
`
`

`

`Table of Contents
`
`Introduction 1
`How to Use This Book 2
`How This Book Is Organized 2
`Special Features in the Book 8
`
`Introducing HTML
`
`1 Page Design 11
`Know Thy Audience 12
`Choosing Information 13
`Structuring the Information 14
`HTML Standards and Browser Compatibility 20
`Desirable Page Elements 21
`Last Updated Date 21
`Contact Information 22
`Navigation Tools 23
`Counters 25
`Breaking Up Long Pages 27
`Graphic Elements 27
`Table of Contents 29
`
`2 Site Design 31
`Know Thy Audience, Part II 32
`How Will Users Move Through the Information? 32
`What Technologies Do Your Users Have? 33
`Considering Your Own Objectives 36
`Structuring Information 37
`The Drill-Down Structure 37
`The Flat Structure 38
`Developing a Look 39
`Less Is Often More 39
`Backgrounds 39
`Color Choices 41
`Iconography: Is It Intuitive? 41
`Desirable Site Elements 42
`Tables of Contents 42
`Search Engines 43
`Navigation Tools 43
`
`Facebook's Exhibit No. 1026
`Page 9
`
`

`

`Contents
`
`ix
`
`WhaYs New 45
`Guestbooks 45
`Feedback Mechanism 46
`Mailing Lists 46
`Threaded Discussion Groups 48
`Chat Channels 48
`Multimedia Content 48
`Testing Your Design 50
`Pilot the Site 51
`Try It with Different Browsers 51
`Try It at Different Connection Speeds 51
`
`3 Building Blocks of HTML 53
`HTML and Its Relationship to SGML 54
`HTML Is a DTD of SGML 54
`Advantages and Disadvantages 56
`Conformance to the Standard 56
`The Current Standard: HTML 3.2 57
`Choosing a Level of Conformance 57
`Testing Conformance 58
`HTML Constructs 61
`Tags 61
`Tag Attributes 62
`HTML Entities 63
`'I~vo Rules Browsers Follow When Processing HTML 64
`An Overview of the HTML Elements 64
`
`II I Working with HTML Documents
`
`4 The Document Tags 71
`The <!DOC7'YPE> Declaration 72
`The <HTML> Container Tag 72
`The Document Head 72
`The <HEAD> Container Tag 73
`Put a <TITLE> on That! 73
`Specifying Relative URIs: The <BASE> Tag 76
`iJsing <LINK> to Create Relationships Between Documents 78
`Indexing a Document 79
`The Versatile <NIETA> Tag 82
`Looking Ahead 86
`
`Facebook's Exhibit No. 1026
`Page 10
`
`

`

`Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`The Document Body 88
`Document Tags: A Matter of Good Style 89
`
`5 Formatting the Document Body 91
`Attributes of the <BODY> Tag 92
`Specifying Colors in HTML 92
`Backgrounds 96
`Text Color 97
`Link Color 98
`The Basics of Text Formatting 98
`Breaking Text into Paragraphs 98
`Using Line Breaks 98
`Declaring Document Divisions 100
`Breaking Up Your Document 101
`Using the Heading Styles 101
`Adding Horizontal Rule 102
`Formatting Ted 103
`The Physical Styles 103
`The Logical Styles 103
`Other Text Effects 105
`Centering Text 106
`Controlling Font Size and Color 106
`The <ADDRESS> Tag 107
`The ~LOCKQ UOTE> Tag 107
`Preformatted Text 109
`Reserved and Special Characters 109
`Other-than-English Language Characters 110
`Non-Breaking Space 110,
`Commenting Your Document 110
`
`6 Displaying Content in Lists 113
`Unordered Lists 114
`The Basics 114
`Changing the Default Bullet Character 115
`Ordered Lists 118
`The Basics 118
`Changing the Numbering Scheme 118
`Changing the Numbering Sequence 120
`Definition Lists 121
`Menu Lists 122
`Directory Lists 123
`
`Facebook's Exhibit No. 1026
`Page 11
`
`

`

`Contents
`
`~ xi
`
`Nesting Lists 124
`Embedded Unordered Lists 124
`Embedded Ordered Lists 125
`Mining Ordered and Definition Lists 126
`Formatting Within Lists 127
`Increasing Inter-item Spacing , 127
`Text Level Formatting 128
`
`7 Linking HTML Documents 129
`Uniform Resource Locators (URIs) 130
`Parts of an URL 130
`Absolute URIs 133
`Relative URLs 133
`Linking to Other HTML Documents 134
`Linking Within a Given HTML Document 137
`Linking to Other Internet Services 139 ,
`FI'P 139
`mailto 140
`UseNet 141
`Gopher 142
`WAIS 142
`Telnet 143
`
`III ~ HTML Graphics
`
`8 Adding Graphics to HTML Documents 145
`Graphic Storage Formats 146
`GIF 146
`JPEG 148
`Choosing a Format 148
`The <IMG> Tag 149
`The Basics 150
`Adding a Border 152
`Adding Space Around Your Image 152
`The ALIGNAttribute and Floating Images 154
`ISMAP and iISEMAP 157
`Images as Hyperlink Anchors 158
`Images as Bullet Characters 160
`Images as Horizontal Rule 161
`
`Facebook's Exhibit No. 1026
`Page 12
`
`

`

`xii
`
`~ Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`9 Image Maps 163
`Server-Side Image Maps 164
`Preparing the Map File 164
`Setting up the Image Map 166
`Example: A Main Page Image Map 167
`Example: A Navigation Image Map 168
`Client-Side Image Maps 170
`Advantages 170
`Defining a Map 170
`Setting Up the Image Map 171
`Example: A Main Page Image Map 172
`Example: A Navigation Image Map 172
`Using Server-Side and Client Side Image Maps Together 173
`Providing a Text Alternative to an Image Map 174
`Image Map Tools 174
`Map This! 175
`Mapedit 177
`Web Hotspots 178
`
`10 Graphics Tips and Tricks for Web Sites 181
`Transparency 182
`Making an Image "Fade In" 185
`Making Interlaced GIFs 186
`Progressive 7PEGs 186
`Animated GIFs 187
`Image Effects that Create Depth 189
`Light Sources 189
`Drop Shadows 190
`Embossing 191
`Ray Tracing 191
`Keeping File Sizes Smail 192
`Resizing the Image 193
`Using Thumbnails 193
`Storing GIFs as JPEGs 193
`Increasing the 7PEG Compression Ratio 194
`Reducing Color Depth 194
`Adjusting Contrast 195
`No Dikhering 195
`
`_
`
`Facebook's Exhibit No. 1026
`Page 13
`
`

`

`Contents
`
`xiii
`
`IV I Advanced HTML Functions
`
`11 HTML Forms 197
`Overview: Forms and CGI 198
`Creating Forms 198
`The <F'ORM> Tag 199
`Named Input Fields 200
`The <INPU75 Tag 201
`Multiple Line Text Input 206
`Menus 207
`Action Buttons 209
`Multiple Forms in a Document 211
`Passing Form Data 213
`URL Encoding 213
`HTTP Methods 214
`Example Forms 214
`Online Searches 214
`Online Registration 215
`Creating a Custom Page 216
`Online Shopping 217
`
`12 Tables 2.19
`How HTML Tables Are Organized 220
`Table Basics 220
`The <TABLE> Tag 220
`Creating a Table Row 220
`Creating a cable -Cell 221
`Alignment 222
`Aligning the Entire Table 223
`Alignment Within a Row 223
`Alignment Within a Cell 224
`Controlling Other Table Attributes 225
`Adding a Caption 225
`Setting the Width 226
`Adding a Border 227
`Spacing Within a Cell 228
`Spacing Between Cells 228
`Spanning Multiple Rows or Columns 228
`Using the COLSPANAttribute 230
`Using the ROWSPANAttribute 230
`
`Facebook's Exhibit No. 1026
`Page 14
`
`

`

`xiv
`
`Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`What Elements Can Be Placed in a Table Cell 231
`~ Tables as a Design Tool 232
`Creating a Complex Layout 232
`Aligning Custom Bullet Characters 233
`Aligning Form Fields 233
`
`j
`
`~
`
`13 Frames 237
`Introduction to Frames 238
`The Main Idea 238
`Not Standard HTML 238
`Applications 240
`Setting Up a Frames Document 241
`Draw a Picture! 241
`The <FRAMESET> Tag 241
`Nesting <FRl1MESE7~ Tags to Achieve Complex Layouts 243
`Placing Content in Frames 245
`The <F'RAME> Tag 245
`Targeting Named Frames 247
`Respecting the "Frames-Challenged" Browsers 248
`Examples 249
`Banner Frame 249
`Navigation Frame .249
`Search Results Frame 251
`
`~
`
`14 HTML Style Sheets 253
`~ '
`~ Introduction to Style Sheets 254
`What Are Style Sheets 254
`Why Style Sheets Are Valuable 255
`Different Approaches to Style Sheets 255
`Linking to Style Information in a Separate File 256
`Setting Up the Style Information 256
`Using the <LINK> Tag 25$
`Embedded Style Information 258
`Using the <S7YLE> Tag 258
`Setting Up the Style Information 260
`Respecting "Style Sheet-Challenged" Browsers 260
`Inline Style Information 260
`Other Tags That Take the STYLE Attribute 260
`The <SPAN> Tag 261
`Using Multiple Approaches 262
`
`j ~
`
`Facebook's Exhibit No. 1026
`Page 15
`
`

`

`Contents-
`
`xv
`
`Tips for Style Sheet Users 263
`Harnessing Inheritance 263
`Grouping Style Information 263
`Creating Tag Classes 264
`The Future of Style Sheets 264
`Wider Support 264
`User-Defined Sryle Sheets 265
`Other Sryle Sheet Standards 265
`
`V I HTML Extensions and Additions
`
`15 Netscape Navigator-Specific HTML E~ctensions 267
`A Word About Browser-Specific Extensions 268
`Should You Use Them? 268
`Providing Alternatives 269
`Embedded Objects 269
`Dynamic Documents 271
`Client Pull 271
`Server Push 272
`Multicolumn Text Layout 274
`Controlling White Space 277
`HORIZONTAL and VERTICAL Spacers 277
`BLOCK Spacers 277
`Frame Border Controls 279
`Text Wrapping in Multiple Line Form Windows 279
`Text Effects 281
`Changing the Default Font Size 281
`Blinking Text 281
`Strikethrough and Underline Text 281
`Choosing Typefaces 282
`
`16
`
`Internet E~cplorer-Specific HTML Extensions 285
`Adding a Background Sound 286
`Creating a Watermark 287
`Controlling Your Margins 287
`Adding Color 288
`Table Backgrounds and Borders 289
`Rule 290
`
`Facebook's Exhibit No. 1026
`Page 16
`
`

`

`xvi
`
`~ Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`Table Sections and Column Properties 290
`Table Sections 291
`Setting Column Properties 292
`Other Attributes of the <TABLE> Tag 293
`Inline AVI Support 294
`Scrolling Marquees 296
`Floating Frames 297
`HTML Layout Control 299
`
`17 Proposed Additions to HTML 303
`Setting Up Search Ranges 304
`Setting Up Tab Stops 305
`Logical Text Styles 305
`Establishing the Document's Language Context 306
`Expanded List Support 306
`List Headers 307
`Unordered List Extensions 307
`Admonishments 308
`Footnotes 309
`Non-Scrolling Banners 309
`Figures 310
`Mathematical Symbols 312
`Mathematical Tags 313
`Mathematical Entities 314
`WhaYs Next? 315
`
`VI I WYSIWYG HTML Editors
`
`18 Using Netscape Navigator Gold 317
`Downloading and Installing Navigator Gold 318
`Getting Started 319
`Loading an Existing Page into Navigator Gold 320
`Starting a New Page 321
`Editing Your Document 323
`Setting the Editor Preferences 324
`The Navigator Gold Toolbars 325
`Placing Page Elements with the Insert Menu 327
`Modifying Page Elements with the Properties Menu 329
`
`Facebook's Exhibit No. 1026
`Page 17
`
`

`

`Contents
`
`iii
`
`Using the Netscape Gold Rush Tool Chest 331
`Other Useful Editing Features 332
`Publishing Your Document 333
`Saving the Document 333
`Publishing to a Web or FTP Server 334
`
`19 Using Microsoft FrontPage 335
`Overview 336
`Installing FrontPage 337
`Using the FrontPage Explorez 338
`Creating a New Web 339
`Viewing a Web 341
`Link Tools 343
`Other Useful Explorer Features 345
`Using the FrontPage Editor 346
`Starting a New Document 346
`Editing Your Document 348
`Using Web Bots 354
`Saving Your Document 356
`Managing Your Server 356
`Using the FrontPage TCP/IP Test 356
`Using the Personal Web Server 357
`Using the Server Administrator 358
`Server Extensions 359
`The FrontPage Software Developer's Kit 360
`
`20 Using Adobe PageMill 363
`A First Look at Adobe PageMill 364
`The Toolbar 364
`The Inspector 365
`"Look Ma, No.HTML" 365
`Creating a PageMill document 366
`Viewing Your HTML Source 367
`HTML Invisibles 367
`HTML Placeholders 369
`Misunderstood HTML 369
`Setting Up Links 369
`Using the Link Bar 370
`
`Facebook's Exhibit No. 1026
`Page 18
`
`

`

`I`
`
`~'
`~'
`
`is
`I'
`
`E
`
`i
`
`xviii
`
`Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`Using the Pasteboard 371
`Anchors 371
`Working with Graphics 372
`Inserting Images in Your Pages 372
`Aligning Text and Images 374
`The Place Command 375
`The Resource Folder 376
`Background Images 376
`Image Maps 376
`Transparent, Interlaced, and Animated GIFs 378
`Setting Up Forms 379
`Creating and Working with Tables 380
`Creating a Table 380
`Modifying Your Tables 380
`Modifying Table Cells 382
`Working with Frames 383
`Constructing Your Frames 383
`Linking Your Frames Together 385
`Other PageMill Features 386
`Working With Java 386
`Setting PageMill Preferences 386
`The Color Panel 387
`
`VII
`
`~ Key HTML Issues for Webmasters
`
`21 HTMLValidation 389
`Why Validate Your HTML? 390
`Some Bad Code 392
`Online Validation Services 392
`WebTechs HTML Validation Service 393
`Weblint 396
`A Kinder, Gentler HTML Validator 398
`Doctor HTML 400
`Validation Programs that Run on Your Machine 402
`HTML PowerTools for Windows 402
`CSE 3310 HTML Validator 404
`HTML Validation Utilities for UNIX 405
`HTML Editing Tools with Built in Validators 406
`HoTMetaL 406
`Microsoft FrontPage 408
`
`i
`
`Facebook's Exhibit No. 1026
`Page 19
`
`

`

`Contents
`
`xix
`
`22 Key Graphics U#ilities for Webmasters 411
`Using Microsoft Paint 412
`Using LUiew Pro 415
`The Edit Menu 416
`The Retouch Menu 416
`LUiew Pro Properties Settings 418
`Using Paint Shop Pro 420
`Using Micrografx Picture Publisher 422
`Using Adobe Illustrator and Photoshop 424
`Adobe Illustrator 424
`Adobe Photoshop 427
`Format Conversion Utilities 430
`
`23 Key Web Access and Security Concerns for Webmasters 431
`Web Security on the Internet and Intranet 432 .
`Simple Privacy 434
`How Do Users Access Your Server? 435
`Built-In Server Access Control 442
`Password-Protection Scripts 444
`Vulnerability Due to CGI Scripts and Server-Side Includes 446
`Communications Security 446
`Secure Socket Layer 447
`Secure HTTP 449
`Pretty Good Privacy 449
`Site Security 450
`Exposing the Threat 451
`Case Studies 451
`Security Awareness 453
`Checklist for Site Security 460
`File Permissions on Server and Document Roots 460
`Optional Server Features 461
`Freezing the System: Tripwire 461
`Checking File Permissions Automatically 462
`CRACK 462
`TAMU Tiger 462
`xinetd 463
`Catching the Wily Cracker 464
`Firewalls 465
`
`Facebook's Exhibit No. 1026
`Page 20
`
`

`

`~ Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`xx
`
`Security Administrator's Tool for Analyzing Networks 467
`SATAN's Good Behavior 468
`Making Sure You Have a Legitimate Version of SATAN 468
`Electronic Data Interchange via the Internet 468
`EDI Standards 470
`Secure E-Mail 472
`X.400 475
`File Transfer Protocol 475
`EDI 476
`Mapping Software 476
`VANs 477
`Internet EDI 477
`Going Further 478
`24 Developing Webs with Netscape LiveWire and LiveWire Pro 479
`Netscape LiveWire Components 480
`How LiveWire Works 483
`A Brief HTTP Tutorial 484
`What Options Does Netscape Offer? 485
`What Does LiveWire Do with a Request? 486
`Understanding SQL 486
`The Relational Model 487
`A SQL Primer 490
`Understanding Transactions 491
`Understanding Cursors 492
`Introduction to Crystal Reports 493
`The Database Connectivity Library 494
`Opening and Closing the Connection 494
`Inserting Data into Tables 497
`Deleting Rows 497
`Accessing Data a Row at a Time 497
`Accessing Data as a Set 498
`Using BLObs 499
`Transactions in LiveWire Pro 500
`Error Handling 500
`JavaScript and the Second Generation Netscape Servers 501
`Understanding Java and JavaScript 501
`Server-Side JavaScript 502
`The Java Virtual Machine 503
`Putting It All Together—A Database Example 503
`
`Facebook's Exhibit No. 1026
`Page 21
`
`

`

`Contents
`
`~ci
`
`VIII I Developing Multimedia and Interaction
`
`25 Developing Content for Plug-Ins 513
`Serving Multunedia Content on the Web 514
`Understanding Netscape Navigator Plug-Ins 514
`Configuring the Server and the Browser 516
`Special Purpose Servers 519
`Hardware Features 522
`Integration with HTML 526
`HTML 3.2 and the <OBJEC75 Tag 526
`Three Ways of Invoking a Navigator Plug-In 527
`Microsoft and ActiveX 530
`Other Ways to Add Multimedia Content 531
`
`26 Adding Video to Your Site 533
`Generating Video Content 534
`Video Formats 534
`Hardware Options 536
`Software .Options 538
`Integrating Video into Your.Web Page 541
`Inline Video 541
`Video Using Helper Applications 542
`Client-Side Video Viewers 542
`Common Players 543
`Others 544
`
`27 Adding Audio to Your Web Site 545
`How and Where to Acquire Audio Content 546
`Audio Content from the Internet 546
`From CDs or DATTapes 546
`Recorded from "Live Sources" 547
`Creating Your Own Music 547
`Choosing Appropriate Audio Formats 547
`Au 547
`Aiff and Aifc. 547
`Wav 548
`MPEG 548
`MIDI 548
`MOD 549
`Saving Disk Space and Transfer Time 549
`Which Setting Should You Use? 550
`Determining Audio File Size 550
`
`Facebook's Exhibit No. 1026
`Page 22
`
`

`

`~ Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`~ocii
`
`Putting Audio Clips on Your Web Pages 550
`Including the Audio File as a Hyperlink 550
`Optimizing Your Web Site 551
`Netscape Navigator and Internet Explorer Extensions 551
`Adding Audio as a Background Sound 551
`Adding Controls to Your Audio Files 552
`How to Keep Download Times Reasonable 554
`Differences Between Netscape and Internet Explorer 555
`Editing Audio Files and Format Conversion 555
`Avoiding That Pop 556
`Considering Real-Time "Streaming" Audio 557
`Why Is Streaming Audio Important? 557
`RealAudio 558
`Macromedia's Shockwave 558
`Which Product Is Better? 558
`What Is the Future of Audio on the Internet? 559
`28 Adding Live or Streamed Media to Your Site 561
`Creating Live or Streamed Media Content 562
`MBONE or IP Multicasting 562
`Bandwith Requirements and Server Hardware
`Integrating MBONE into the Web site 564
`RealAudio by Progressive Networks 564
`RealAudio Server Hardware Requirements 566
`RealAudio Bandwidth Requirements 567
`' Starting and Stopping RealAudio Server for UNIX 567
`Creating RealAudio Encoded Files 568
`569
`Testing RealAudio Operation
`Integrating RealAudio 570
`StreamWorks Server by Xing 570
`StreamWorks Pricing 574
`Integrating StreamWorks into Your Web Site 574
`VDOLive by VDOnet 575
`Configuring Client Side VDOLive Viewers 577
`VDOLive Pricing 578
`Integrating VDOLive Media into the Web Page 578
`29 Shocking Your Web Site 581
`Macromedia Director Basics 582
`Program Components 582
`Importing Cast Members 586
`Composing the Score 588
`
`563
`
`Facebook's Exhibit No. 1026
`Page 23
`
`

`

`Contents
`
`xxiii
`
`Creating Animations in Director 591
`Step Recording 591
`Real-Time Recording 591
`In-Betweening 592
`ANIMWIZ Features 594
`Using Lingo 596
`Frame Scripts 596
`Cast Scripts 597
`Sprite Scripts 598.
`Movie Scripts 599
`Preparing Your Director Movie for the Web 600
`Tips for Making Your Movie as Small as Possible 6Q0
`Saving Your Movie 601
`Hit the Afterburner 601
`Placing the Movie on a Web Page 601
`Expanding Shockwave's Capabilities 601
`Creating a Streamed Audio File 601
`Creating a Compressed Audio File 602
`Placing a Streamed Audio File in a Director Movie 602
`Using Lingo to Control Audio 603
`
`30 Document Types for Business 605
`Inso Word for Windows Viewer 606
`Downloading and Installing the Inso Word Viewer 606
`Using the Inso Word Viewer 607
`Inso Quick View Plus 613
`Downloading and Installing Inso Quick View Plus 613
`Quick View Plus Supported Document Types 614
`Formula One/NET 622
`What Is Formula One? 623
`Formula One/NET Example Applications 623
`Portable Document Formats 625
`Adobe Acrobat 625
`Creating Adobe Acrobat Documents 625
`Acrobat Reader 626
`Tumbleweed Envoy 627
`Common Ground Digital Paper 628
`ActiveX Documents 629
`
`Facebook's Exhibit No. 1026
`Page 24
`
`

`

`~ i
``
`~
`
`xxiv
`
`Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`IX I CGI
`31 The Common Gateway Interface 631
`CGI and the World Wide Web 632
`Beyond HTML with CGI 633
`How CGI Works 634
`Where CGI Scripts Live 636
`CGI Server Requirements 637
`Windows NT 638
`UNIX 638
`lications 639
`Desi nin CGI A
`PP
`g b
`CGI Script Structure 639
`Planning Your Script 644
`Standard CGI Environment Variables 647
`CGI Script Portability 649
`CGI Libraries 651
`CGI Limitations 654
`The Future of CGI Scripting 655
`Java 655
`Visual Basic Script 656
`VRML 657
`ISAPI 658
`32 Generating HTML in Real Time 661
`Comparing Static HTML to Real-Time HTML 662
`Real-Time HTML 662
`Benefits of Real-Time HTML 662
`Methods of Generating Real-Time HTML 663
`Near Real-Time HTML 675
`Server Performance Considerations 676
`33 Server-Side Includes 677
`Introducing SSI 678
`SSI Specification 679
`Configuring SSI 679
`Using SSI in HTML 680
`HTML Comment Synta~c 681
`Turning Comments into Commands 681
`Common SSI Commands 682
`
`,.
`
`Facebook's Exhibit No. 1026
`Page 25
`
`

`

`Contents
`
`~ocv
`
`,
`
`Sample SSI Programs 685
`SSIDump 685
`RQ 687
`XMAS 691
`HitCount 693
`HitCntth 697
`FirstHit ?01
`LastHit 704
`Server Performance Considerations 708
`
`34 Transactions and Order Taking 711
`Client Security 712
`Proxy Servers 712
`Helper Applications 713
`Passwords 714
`Server Security 716
`Securing Web Documents 716
`CGI Scripts 718
`Firewalls 719
`Connection Security 720
`Securing Transactions 720
`Secure Electronic Transactions (SE 1~ 720
`Using SSL 721
`Existing Services 724
`CyberCash 724
`DigiCash 725
`First Virtual 725
`The Future of Business Transactions 726
`
`35 CGI Security 729
`Scripts Versus Programs 730
`Trust No One 730
`Two Roads to Trouble 730
`Don't Trust Form Data 731
`Where Bad Data Comes From ' 731
`Fighting Bad Form Data 732
`Don't Trust Path Data 735
`Everything Seems Okay, But... 736
`Handling File Names 736
`In with the Good, Out with the Bad 737
`
`Facebook's Exhibit No. 1026
`Page 26
`
`

`

`', aocvi~ Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`Handling HTML 738
`Handling External Processes 740
`Inside Attacks 744
`CGI Script User 744
`Setuid and ACL Dangers 744
`Community Web Servers 745
`Using CGIWrap 745
`CGI Script Permissions 746
`Local File Security 746
`Use Explicit Paths 747
`Using Others' CGI Scripts 748
`Go to the Source 748
`Compiled, Schlamiled 749
`And That Goes for Your Little Library, Too! 749
`
`36 Custom Database Query Scripts 751
`Understanding Database Design 752
`Why Access a Database? 753
`Database Access Limitations 753
`Security Issues 754
`Creating and Using Flatfile Databases 754
`Writing to a Flaffile Database 756
`Reading from a Flatfile Database 759
`Searching a Flatfile Database 760
`DBM Databases 761
`Writing to a DBM Database 763
`Reading from a DBM Database 764
`Searching a DBM Database 765
`Relational Databases 766
`Introduction to Structured Query Language 768
`mSQL 768
`MsglPerl 769
`Building a Relational Database Application 769
`Inserting Information 769
`Retrieving Information 773
`Debugging Database Applications 774
`
`37
`
`Vlleb Database Tools 777
`Databases Available 778
`Oracle 778
`Sybase 778
`
`{
`
`,;
`f'!
`S
`
`r
`
`+_
`
`Facebook's Exhibit No. 1026
`Page 27
`
`

`

`~.
`
`Contents
`
`pcvii
`
`mSQL 779
`Illustra 779
`Microsoft SQL 779
`Postgres95 779
`Ingres 780
`FoxPro 780
`Microsoft Access 781
`Database Tools 781
`PHP/FI 781
`Cold Fusion 783
`w3-mSQL 785
`MsglPerl 785
`Msq~Java 785
`Microsoft's dbWeb 785
`WDB 786
`Web/Genera 786
`MORE 787
`DBI 787
`DBGateway 788
`Additional Resources on the Web 788
`
`X ~ Advanced Web Options
`
`38 Client Pull/Server Push .789
`Client Pull 790
`HTTP Response Headers 790
`The <NIETA> Tag .790
`Implementing Client Pull with CGI 792
`Client Pull and Java 793
`Customizing the <META> Tag 793
`Server Push 794
`MIME and the multipart/mixed Content Type 794
`Writing a Server Push Script 795
`The I/O Buffering Problem 797
`Refining Server Push: Using NPH (No-Parse Header) Scripts
`
`797
`
`39 News and Mailing List Gateways 799
`Why Mail Is So Powerful 800
`Running a Mailing List by Hand 800
`Majordomo 801
`
`Facebook's Exhibit No. 1026
`Page 28
`
`

`

`I~y ~aviii
`
`Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`LISTSERV 803
`The Importance of the Request Address 809
`The Front End: Subscribe, Unsubscribe, Posting, and Queries 809
`Subscribe~and Unsubscribe Requests 809
`Custom Forms, Mailto, and Engine Mail 810
`The Back End: Integrating Mail Archives with the Web 813
`Hypermail 814
`WAIS and Its Kin 814
`Indexing UseNet and Mailing List Archives with HURL 815
`Other Back Ends 820
`Conferencing on the Web 821
`UseNet 822
`HyperNews 822
`W3 Interactive Talk 823
`Public Annotation Systems 824
`A Real-Time Conferericing System 824
`
`40 Creating Live Chat Pages 827
`Introducing the Importance of Chat 828
`Finding Chat Pages 829
`Introduction to Chat Basics 829
`Understanding How Chat Works 830
`Understanding a CGI-Based Chat Server 832
`Understanding aJava-Based Server 834
`Using Helper Applications to Chat 836
`Using Telnet to Chat 836
`ActiveX and Plug-Ins for Chatting 836
`Power Chat Features 837
`HTML Enhancements 837
`PreDefined Graphics 839
`Chat Whispering 840
`Client-Side Pulls 840
`Persistent Aliases 841
`Multiple Chat Rooms 841
`Moderator Options 843
`3-D Chat 844
`Using Bots 844
`Existing Web Chat Software 844
`CGI 844
`Java 845
`Helper Applications 847
`Your Own Private Chat Room 848
`
`Facebook's Exhibit No. 1026
`Page 29
`
`

`

`~~;;
`
`Contents
`
`~ocix
`
`XI ~ JavaScript and Java Applets
`
`41 JavaScript 849
`Introduction to JavaScript 850
`Why Use a Scripting Language? 850
`What Can JavaScript Do? 851
`What Does JavaScript book Like? 851
`JavaScript Programming Conventions 852
`The Ja~aScript Language 853
`Using Identifiers 853
`Using Functions, Objects, and Properties 854
`Programming with JavaScript 856
`Expressions 856
`Operators 856
`Controlling Your JavaScripts 860
`JavaScript Reserved Words 861
`Other JavaScript Statements 862
`JavaScript and Web Browsers 867
`When Scripts Execute 867
`Where to Put Your Scripfs 867
`Web Browser Objects and Events 869
`Web Browser Object Hierarchy and Scoping 869
`Browser Object Model 869
`Example JavaScript Applications 874
`Manipulating Windows 874
`Web Browser Windows and Frames 880
`
`42 Developing Java Applets 887
`What Exactly Is Java? 888
`Why Java? 888
`Basic Language Constructs 889
`Leveraging Java Classes and Packages 892
`Java 101: He1loWorld 894
`Running Your He1loWorld Applet from a Web Browser 896
`Troubleshooting HelloWorld 898
`HelloWorld Class Diagram 899
`Using the Java API Manual 900
`Mandelbrot Set: An Introduction to Java Graphics 900
`Mandelbrot Set Class Diagram 901
`Java AWT and Application Frameworks 904
`
`'
`
`Facebook's Exhibit No. 1026
`Page 30
`
`

`

`~ooc
`
`Platinum Edition Using HTML 3.2, Java 1.1, and CGI
`
`-
`
`Optimizing the Mandelbrot Set Program 905
`Stopwatch: A Benchmarking Tool 906
`Introduction to State Transition Diagrams 906
`Coding a Test Driver: TestStopWatch 910
`A Closer Look at TestStopWatch 914
`Inter-Converting Applets and Stand-Alone Applications:
`A Cookbook 918
`Benchmarking and Profiling the Mandelbrot Set 918
`Preparing Mandell for Profiling 919
`Using Java's Profiler 921
`How Do You Optimiz

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket