Http://www.contextfree.net/wangyg/tech/history/web_dev_history.html
Wang Wei Gang, March 2004
[This article was published in April 2004 "programmer"]
Discuss the history of Web development technology, of course, let me talk about the origin of the Web. It is well known that the most popular application architecture on the Internet is invented by Tim Berners-Lee. The predecessor of the Web is the 1980 Tim Berners-Lee's referred to as the abbreviation of ENQUIRE (ENQUIRE WITHIN UPON EVERYTHING) project. In November 1990, the first web server nxoc01.cern.ch started, Tim Berners-Lee saw the earliest web page on the graphical web browser "WorldwideWeb" written in himself. In 1991, Cern (European Particle Physics Laboratory) officially issued a Web Technical Standard. Currently, various technical standards associated with Web are managed and maintained by the famous W3C organization (World Wide Web Consortium).
From the technical level, the essence of the web architecture is three: use hypertext technology (HTML) to connect information and information; use unified resource positioning technology (URI) to achieve the precise positioning of global information; use new application layer protocols (HTTP) Implement distributed information sharing. These three features are related to the distribution, acquisition and utilization of information. In fact, Tim Berners-Lee told us that "Web is an abstract (imaginary) information space." That is to say, as an application architecture on the Internet, the first task of the web is to provide people with information. And information services.
Unfortunately, in the Web Application, today, many technicians seem to have forgotten the design original intention of the web architecture. They have a variety of so-called "advanced" technologies in their website or web applications, but end users can have valuable information available in these websites or applications. This problem is not as simple as the "roadless" or "lack of information" by commentators. A web developer forgetting the ultimate goal of Web technology is to provide information and information services. His stupidity is not less than one in the football field, but I forgot the big name of the shot. From this perspective, evaluating a standard for a web development technique is only one, that is, it is to see if this technique can be in the most appropriate time and the most appropriate location, in the most appropriate way, Provide the most appropriate information service.
1 Germination and evolution of client technology
The Web is a typical distributed application architecture. Each information exchange in the web application involves two levels of the client and the server. Therefore, Web development techniques can also be divided into two categories: client technology and server technology. Let's talk about the germination and evolution of the client technology.
The main task of the web client is to show the content, and the HTML language is one of the most effective carriers of information. As a practical hypertext language, HTML's history can be traced back to the 1940s. In 1945, Vannevar Bush explained the idea of text and text between text and text in an article, and gave a design plan for computer MEMEX that implements information. Doug Engelbart et al., In 1960, the earliest experiment was made to the information association technology. At the same time, TED Nelson officially named this information association technology to hypertext technology. In 1969, IBM Charles Goldfarb invented the GML (Generalized Markup Language) that can be used to describe hypertext information. Between 1978 and 1986, under the efforts of ANSI and other organizations, GML language further developed into a famous SGML language standard. When Tim Berners-Lee and his colleagues tried to create a hypertext-based distributed application system in 1989, the Tim Berners-lee realized that SGML is a top plan to describe hypertext information, but the beauty is not enough. SGML is too complicated, not conducive to information transfer and analysis. Thus, Tim Berners-Lee made a simplified and improvement of the big knife in the SGML language. In 1990, the first graphical web browser "WorldWideWeb" can finally use a language-HTML customized language-HTML for Web. The initial HTML language can only show static text or image information in the browser, which can not meet the strong needs of people's richness and diversity - the final result of this matter is that the change of static technology to dynamic technology Become an eternal law of the evolution of Web client technology.
Can store, showing two-dimensional animated GIF image format has developed mature in 1989. After the Web appeared, GIF first introduced a dynamic element for the HTML page. But greater changes are derived from 1995 to Java language advent. The Java language is naturally characterized by the platform that has been unrelated to let people find shortcuts for developing dynamic applications in the browser. In 1996, the famous Netscape browser added support for JavaApplets and JavaScript in its 2.0. Netscape's family, Microsoft's IE 3.0 also began supporting Java technology in this year. Now, developers who like animations, like interaction, developers who like client applications can enrich the HTML page with Java or JavaScript language. By the way, the JavaScript language has a very unique position in all client development technologies: it is a scripting, a simplified Java language, which is the first time of scripting technology in the Web World. In order to defend with JavaScript with JavaScript technology with pure Microsoft, Microsoft also designed another scripting language -vbscript language for IE 3.0 in 1996.
Really let HTML page cool and dazzling, unlimited dynamic is CSS (Cascading Style Sheets) and DHTML (Dynamic HTML) technology. At the end of 1996, W3C proposed CSS recommended standards. In the same year, IE 3.0 introduced support for CSS. CSS greatly enhances developers' control capabilities for information display format. Netscape 4.0 in 1997 not only supports CSS, but also adds many Netscape companies to customize dynamic HTML tags, on the basis of CSS, allowing various elements "activities" in the HTML page. In 1997, Microsoft released IE 4.0 and developed dynamic HTML tags, CSS and dynamic object models (DHTML Object Model) into a complete, practical, efficient client development technology system, Microsoft called DHTML. Also implement the dynamic effect of the HTML page, DHTML technology does not need to start Java virtual machines or other script environments, you can get better display effects and higher execution efficiency with your browser. Today, there are very few HTML pages developers who have also regarded CSS and DHTML technology. In order to achieve more complex multimedia applications in the HTML page, Netscape 2.0 in 1996 successfully introduced support for QuickTime plug-ins. The plug-in development method is also popular in the world of browsers. On the Windows platform, Microsoft's bets integrated with the client application arrived at COM and ActiveX, who had just came out in the mid-1990s. In 1996, IE 3.0 officially supported the function of inserting an ActiveX control in the HTML page, which opens up a freedom path to other vendor's information showing the information display of the Web client. In 1999, the RealPlayer plugin successfully succeeded in Netscape and IE browser. At the same time, Microsoft's own media play plug-in Media Player was also pre-installed into a variety of Windows. Also worthy of commemoration, there is a flash passage of the flash plug-in: In the early 1990s, Jonathan Gay has developed a 2D vector animation display tool called Future Splash Animator in FutureWave. In 1996, Macromedia acquired FutureWave and will Jonathan Gay's invention renamed our familiar Flash. Since then, Flash is animated into the best way of web developers to express themselves and display personality.
In addition to writing HTML pages, developers of client applications can use some mature technologies to add browser features into their own applications. Since 1992, W3C provides a libwww development library for free. With libwww, we can write a web browser and web search tool, you can also analyze, edit, or display the HTML page. In 1999, the HTAS (HTML Applications) technology introduced in IE 5.0 in IE 5.0 allows us to convert the HTML page into a real application. From 1997 IE 4.0, Microsoft provides developers with WebBrowser controls and other related COM interfaces, allowing programmers to embed the browser window directly in their own programs, or call various browser features, such as analysis or editing HTML page, etc. Windows 98 and after the Windows operating system even uses WSH (Windows Script Host) technology to run JavaScript that is only running in the browser to the general scripting language that can be used in Win32 environments. This is probably possible. As a kind of clever use of Web client development technology. 2 mature and development of server technology
Similar to client technology from static to dynamic evolution processes, the development technology of the web server is also gradually developed by static to dynamics and is perfected.
The earliest web server simply responded to the HTTP request sent by the browser and returned the HTML file stored on the server to the browser. A technology called SSI (Server Side Includes) allows the web server to update some of the HTML files before returning an HTML file, but its function is very limited. The first kind of truly enabled the server to dynamically generate the HTML page according to the specific situation of the runtime. In 1993, the Standard of CGI 1.0 was proposed by NCSA (National Center for Supercomputing Applications). In 1995, NCSA began to develop CGI 1.1 standards. In 1997, CGI 1.2 has also been included in the agenda. CGI technology allows the server's application to dynamically generate an HTML page based on the client's request, which makes the client and server dynamic information exchange become possible. With the popularity of CGI technology, chat room, forum, e-commerce, information inquiry, full-text search, etc., people can finally enjoy more convenient information such as information retrieval, information exchange, information processing. Service.
Most of the early CGI programs are compiled executables, and their programming languages can be any universal programming language such as C, C , Pascal. In order to simplify the modification, compilation and release of the CGI program, people have begun to explore the feasible way of implementing the CGI application with scripting languages. In this regard, it is not possible that LARRY WALL invented in the Perl language invented in 1987. Perl combines the efficiency of the C language and the convenience of SH, AWK and other scripting languages, which seems to be born to write in the CGI program. In 1995, the first CGI program written in Perl came out. Soon, Perl covered its seniors C language in the heart of the CGI programming field. Subsequently, famous scripting languages such as Python have also joined the row of CGI programming languages.
In 1994, Rasmus Lerdorf invented a PHP (Personal Home Page Tools) language dedicated to Web server programming. Unlike previous CGI procedures, PHP language combines HTML code and PHP instructions into a complete server-side dynamic page. Developers of web applications can implement dynamic web features in a simpler, quick way. In 1996, Microsoft learned from PHP's idea and introduced ASP technology in its Web Server IIS 3.0. The scripting language used by ASP is our familiar VBScript and JavaScript. With Microsoft Visual Studio, development tools successfully successfully, ASP quickly became mainstream development technologies in the web server under the Windows system. Of course, the Java camp headed by Sun is not weak. In 1997, servlet technology came out, 1998, JSP technology was born. Servlet and JSP combinations (can also be added to JavaBean technology) Let Java developers have a centralized handling function similar to the CGI program and the HTML embedding like PHP. In addition, Java's runtime compilation technology has greatly improved servlet and JSP. Performance - This is also one of the reasons why Servlet and JSP subsequent J2EE platforms are absorbed as core technologies. 3 two important enterprise development platform
The improvement of Web server development technology has made development complex web applications. In the tide of the e-commerce in this day, in order to adapt to the various complex needs of enterprise applications, in order to provide end users with more reliable, more complete information services, two most important enterprise development platforms - J2EE and .NET It was born in Java and Windows camps, respectively before and after 2000, and they immediately launched you to die in the enterprise web development. The competition of the platform is not peaceful in the last few years, but in a sense, it is also the relative competitive relationship of this tat to enhance the Web development technology to improve and leap forward in an unprecedented speed.
J2EE is a pure Java-based solution. In 1998, Sun released the EJB 1.0 standard. EJB provides a good technical foundation for data packages, transaction processing, transaction control, and other functions in enterprise applications. At this point, the three core technologies of the J2EE platform servlet, JSP, and EJB have been admitted. In 1999, Sun officially released the first version of J2EE. Then, follow the J2EE standard, the various application service software for enterprise applications provide support platforms, rush to emerge. IBM's WebSphere, BEA's WebLogic is the most successful commercial software platform in this field. With the rise of open source movements, the new show in the open source world of JBoss has also attracted many users' attention. By 2003, Sun's J2EE version has been upgraded to version 1.4, of which three key components have evolved to servlet 2.4, JSP 2.0, and EJB 2.1. At this point, the J2EE system and related software products have become a powerful support environment developed by the web server.
Unlike J2EE, Microsoft's .NET platform is a universal operating environment that emphasizes multilingual interactions. Although .NET's designer tries to use the .NET platform as the preferred operational environment of most Windows applications, .NET first attracted the WEB developers' eyes. In 2001, ECMA passed the C # language and CLI standard submitted by Microsoft. The two technical standards constitute the cornerstone of the .NET platform, and they have become ISO international standards in 2003. In 2002, Microsoft officially released .NET Framework and Visual Studio .NET development environment. As early as .NET was released, there were many WINDOWS platforms for WINDOWS platforms that they did not wait to use the beta version of the Web application. This is probably because, .NET platform and related development environment not only provide a web server application, universal running platform, but also introduced a new web development technology such as ASP.NET. ASP.NET exceeds the limitations of ASP, you can use VB.NET, C # and other compilation languages, support Web Form, .NET Server Control, ADO.NET and other advanced features. Objectively speaking, .NET platform, especially the ASP.NET in the .NET platform is indeed a set of web development technologies on the Windows platform. 4 XML language and related technologies
If the HTML language gives the Web World, then, the emergence of XML language can be calculated to be a new life of the Web. According to Tim Berners-Lee, the Web is a "information space". The HTML language has strong expression, but there is also an weak structure that is too flexible and syntax. When the information appears in the HTML language, the information space of the web is messy, no order. In order to make all the information in the Web world can follow, there is a law, we need a language that is more standardized and more capable of reflecting information characteristics.
In 1996, the W3C proposed a draft language draft XML (Extensible Markup Language) on the basis of SGML language. In 1998, W3C officially released XML 1.0 standard. The XML language makes the maximum specification for the format and expression method of information, and the application can handle all XML information in a unified manner. In this way, information is technically guaranteed in the entire Web world. HTML language is concerned about the form of information, while XML language is concerned about the format and data content of the information itself. In this sense, the XML language can not only increase the information of the client's information to a new level, but also significantly improve the information acquisition, generation, release, and share capability of the server. In order to convert XML information into different information exhibition forms such as HTML, in 1999, W3C developed XSLT standards. In the same year, IE 5.0 added support for XML and XSLT.
Now, the developer of the website can publish information directly using the XML language. In view of different applications, many special XML specification have been developed. For example, the SVG (Scalable Vector Graphics) 1.0 standard published in 2001 is an XML language, a new 2D vector graphic format. Developers can describe most existing Flash animations with SVG format. Compliant with the Flash format, the SVG format that meets the XML standard is clearly more conducive to information exchange and sharing.
The Web itself is a largest distributed application. For distributed development, XML technology is also very useful. An obvious fact is that if the distributed application is exchanged with XML format, then the information exchange challenges in the distributed architecture will be solved. In 1999, W3C and related companies began to discuss XML-based communication protocols, 2000, W3C released version 1.1 of the SOAP (Simple Object Access Protocol) protocol. People use the SOAP protocol to deliver XML information, called Web Service. In 2001, W3C released version 1.1 of the WSDL (Web Services Description Language) protocol. The SOAP protocol and the WSDL protocol constitute the basis of Web Service. Subsequently, the two major enterprise development platforms of J2EE and .NET have implemented Web Service and consider it as a core function of the platform. The importance of Web Service for web developers is that when we need to pass information between different server, different clients or even different application types, different computing devices, due to adaptation It is not strong, or because the expansion capacity is insufficient, it is difficult to meet the needs of modern web development, and the Web Service just filled this gap.
5 Web development framework and application model
After 2000, with the increasingness of Web applications, people have gradually realized that there are many best realms that cannot be quickly developed, fast verification and rapid deployment. Researchers have begun to try to integrate existing web development technologies to form a complete development framework or application model, and to meet a variety of complex application needs.
Microsoft walks the most in front of the client's technical integration. In 1998, Microsoft's WINDOWS 98 can integrate web pages on the desktop, which actually effectively combines the functionality of the resource manager and web browser. After 2000, Microsoft launched MSN Explorer and related MSN online services. This application model integrates web browsing, video on demand, email processing, online games, online chat, and many other web features in a unified interface. From the perspective of information use, MSN tries to get sufficient information in a most comfortable environment, which is indeed worthy of people. Another example related to the client technology is the search engine Google demonstrated to everyone's Google toolbar function in 2003. Although the Google toolbar has suspicion of hype and advertising, IE after installing Google Toolbar combines information browsing and information to retrieve organically, this small functional improvement is indeed consideration and help for users.
In the web server, several major technical fusion methods have occurred after 2000. First, more and more web development environments began to support the MVC-View-Contormer design model, providing developers with a full set of development frameworks. In fact, the J2EE and .NET platform itself is a typical representative of this development framework. Second, Portal Server and Web Content Management have become the key model of application integration in recent years. These two application models can provide the developer or end user to provide a high-level platform for building a web application, allowing web development and information publishing. In the field of commercial software, examples of this type of application include Microsoft's SharePoint, IBM's WebSphere Portal, FileNet Web Content Manager, and more. Open source projects are very active, Struts, JetSpeed, Jportlet, Cocoon, Lenya, XOOPS, etc. in Web Development Framework and application models are excellent solutions related to MVC development frameworks, portal services and web content management. Of course, technology integration is never equal to technology stacking. Some developers of Web sites and web applications put together XML languages, MVC frameworks, etc., but whether they can adapt to specific application environments, their system is either low, either functional incomplete. Conversely, a payable truth is that the portal like Sina, Sohu or Netease is in their information release page (such as the news page), although the information content is refreshed, but the web server is always stored. Static HTML page. This "backward technology" has the advantage that the response speed of the portal is still very fast in a large number of concurrent visits. In depth to the technical level, we will usually be surprised to find that most of these websites are using the Web Content Management System of self-developed. When the content editing of the site submits new information, the system will automatically convert the information to an HTML format, published to each node of the web server cluster. In a corner of the Sina.com, we can find the R & D history of the "Sina website release system":
V 1.0 (1997): Based on the file version, implement the news home, the text and the release.
V 1.1 (1998/12): Using the database background to achieve cross-server release, high automation level.
V 2.0 (1999/3): The new concept of template and domain has laid the basic design idea of the series.
V 2.1 (1999/9): Increase the peripheral module, such as search, automatic collection.
V 3.0 (2000/1): Optimize the transmission mode, increase relevant news and comments.
V 3C (2000/6): The compilation version of V3.0 is also the original version of the commercial version.
V 3.1 (2000/7): Optimize the database structure, using the memory Cache speed up, adding centralized monitoring.
V 3.1c (2000/8): Commercial test version.
V 3.2 (in production): Keep a focus on automated switching of the backup system, and achieve never downtime on the mechanism.
This interesting historical record once again confirmed the basic view of our web development technology: a technology only provides users with high level of information, it is the best, most advanced technology.
6 Web development technology's future
Everyone is concerned about the development prospects of Web, everyone wants to know what WEBs will work in ten years. To answer these questions, no one is more authority than W3C. W3C clearly tells us that the future of the web is a semantic web (Semantic Web). Today's Web can be generated, transmit, and display a wide variety of information, but it is just a "container" of information, it is difficult to reveal the content and characteristics of the information itself. In contrast, the future semantic web is a Web that knows the information content, is a true "information administrator". From a technical point of view, the XML language is unified, but this is far from the goal of revealing the information content. In 1998, W3C and some research institutions have begun to study metadata. Metadata is data to describe data, which can reveal the content characteristics of the information. In 1999, Netscape proposed RSS (RICH Site Summary) recommended the first attempt to describe information such as metadata technology description. In 1999, the W3C's research team proposed a draft of the RDF (Resource Description Framework) standard. RDF is based on XML syntax, which specifies the storage structure of metadata and related technical standards. Using the RDF language, we can reveal the various characteristics of the information itself with a unified, available format. In 2001, W3C began to set out an OWL (OWL Web Ontology Language) standard. The OWL language is also a language that meets the XML standard. It is more in-depth and metably described than RDF. With the help of RDF and OWL languages, we can make the information on the web more easily understood, more convenient for exchange and sharing. In 2003, W3C established a Semantic Web Services Interest Group that studied issues related to semantic technology in Web Service. In February 2004, W3C announced that RDF and OWL standards officially became the recommendation plan of W3C, which marked that the building of Seminary Web has broken ground.
With the birth and development of semantic Web, Web development technologies will also experience more major changes. It is foreseeable that in the next few years, there will be many new development technologies or development platforms. From static technology to dynamic technology, from the development platform to the application model, from traditional web to semantic web ... In order to get more people to get more valuable information services, web developers may also experience another technology. Wave, will face more serious technical challenges, but what is it compared to the highest goals share the information?