Web Programming Unleashed
by Bill Anderson
Until the proposal of the Multipurpose Internet Mail Extensions (MIME) protocol in 1993, the Internet was a text-oriented environment. The only way to view non-text files was by downloading files via File Transfer Protocol (FTP). Even the Gopher and the first HTML 1.0 protocols require FTP to transfer image files. Although the MIME RFC is an extension to the mail format, the advent of MIME opened the door for a way to introduce non-text documents into Gopher and HTML. The NCSA Web browser provided the first graphical interface for the MIME-enhanced HTML.
Whether it was graphics, sound, movies, word processing documents,
or postscript documents, the MIME format gave the information
provider a multitude of options for presenting information to
the consumer. Using the MIME types, people entered millions of
documents to create a virtual worldwide library without the restrictions
of traditional information media, but it was not enough. Traditional
media lacked a way to interact with the information consumer.
Although a lot of files included the mailto: scheme in
their URL as a method for user feedback, the document was still
static. The section on CGI scripts shows the first major step
toward creating interactive HTML. With CGI, the server handles
all decisions. The client side (the browser) acts only to input
data to the CGI script and display any resulting output. The HTML
document itself contains no programs or decision logic. The introduction
- It is simple
- It is dynamic
- It is object-based
developer can create a dynamic Web page without needing to become
a programmer. At the same time, programmers can use it to implement
Java applets within a Web page.
can get and set exposed properties, which enable it to alter the
performance of both applets and plug-ins. Table 18.1 compares
|Interpreted by the client||Compiled before execution on client|
|Integrated with HTML||Applets are distinct applications|
|Variable types not declared||Strong typing of variables|
|Dynamic binding of object references||Static binding at compile time|
- The capability to change GIF and JPEG images automatically, at specified time intervals, or by clicking a button or an icon
- The capability to detect the presence of plug-ins on a Web page and then tailor the user interface according to the plug-ins available
Netscape Navigator 3.0 includes LiveConnect, which enables
- It moves much of the action from the server to the client, which lessens the load on the server.
- It enables you to locally validate forms fields before submitting the form to the server.
- It enables HTML documents to respond to local events such as choosing user alternatives and finding out the availability of plug-ins.
- It enables the Web page developer to communicate information to and from applets and plug-ins.
In addition, Netscape Navigator 2.0 had a defect termed "stuck
onLoad" that enabled a window created in the page to stay
open even after the user exited the page. By creating a one-pixel
by one-pixel window, hackers could continue to gather information
about the user's system, network, or sites visited. Because the
window would appear as a very small dot on the screen, the hacker
could gather the information without the user knowing it. With
the release of Netscape Navigator 3.0, Netscape closed all known
security holes. Users of Netscape Nav-igator 2.0 need to upgrade
to version 2.02 or Netscape Navigator 3.0 to close these potential
security loopholes. Table 18.2 shows the various problems and
the releases that fixed the problems.
|Capability to read directories|
|Capability to track history|
|The stuck onload defect|
|Capability to send mail|