advanced search

Welcome: Guest

log in

2007 Technology - Internet - Volume 2 - Web Development & Audio-Visual Coding

Publication Date April 2007
Publisher BuddeComm
Product Type Report
Pages 170
ISBN Number not applicable
Product Code BUD00076
Price

£450.00
approximately: $795 | €571

PDFBuy Now
PRINT £505 ($892 | €640)Buy Now
Order above formats by FAXOrder by FAX

Summary

This report introduces technical specialists and non-technical readers to the major technologies of the World Wide Web, including audio and video compression technologies used for the Web, telecommunications and broadcasting. We provide overviews of and detailed introductions to the key technologies which in various combinations provide the rich communications environment of the Web.

We begin with the basic transport protocol, HTTP and its secure HTTPS version, which is based on SSL/TLS (Secure Sockets Layer/Transport Layer Security). HTTP 1.1 is a sophisticated resource request protocol with capabilities beyond what is visible with ordinary web-browsing. HTTP 1.1 is the basis of WebDav (Web-based Distributed Authoring and Versioning) and the inter-server programming techniques known as Web-services.

We discuss HTML and the related markup languages XML and XHTML, which are the basis of web-page design. These are complex languages which work together with JavaScript, ECMAScript and (as Microsoft terms it) Active Scripting, and with Cascading Style Sheets (CSS). We introduce these page design and techniques together with the Document Object Model: a standardised programming framework which enables a JavaScript in the page to modify the page itself, respond to user input and to communicate with a remote server. This leads to a detailed discussion of Ajax programming, in which a web page alters itself, without reloading, whilst responding to user actions and by retrieving data from the server. Ajax is a promising set of techniques, exemplified by web applications such as Google Maps. However we highlight a number of drawbacks, including unexpected and impractical user interface behaviour, erratic performance and browser compatibility problems.

We describe WebFeed, in its RSS and Atom forms, and the related technology of PodCasting. These are genuinely new and important protocols, which enable flows of information - usually links to other resources - on a push basis.

We describe and compare the major database-driven web-server programming techniques which are the basis of most commercial and organisational sites, including: Java Servlets, Java Platform Enterprise Edition, cgi-bin programming, C, C++, daemons, Perl, PHP, Python, Apache, MySQL, PostgreSQL, Microsoft IIS, Active Server Pages (ASP) and the Common Language Infrastructure (CLI). Choosing between these techniques can be difficult, and once a site is established with one technology, only a complete rewrite will enable it to be run with another.

Related to server programming languages and environments are content management systems, including ColdFusion, Drupal, Mambo, Joomla, Plone and Ruby on Rails on which many large websites are built. We discuss these and their integrated programming languages.

We describe the major graphic file formats in common use on websites, including JPEG, GIF, PNG, PDF, SVG and Flash - the last three of which can involve client side programming, interactivity. SVG and Flash can involve highly sophisticated programming sufficient to implement animation and interactivity. We discuss major trends, including "Web 2.0", weblogs, pay-per-click advertising, mashups (sites which combine information from other sites, such as Google Maps and weather information) and using the Web to cater for the substantial "long tail" of the demand curve. We also discuss the debate over calls to legislate "Network Neutrality" vs. the desire of ISPs to use Quality of Service and other arrangements to provide favourable carriage of certain types of traffic, or traffic to and from certain destinations.

Web communications increasingly involves delivery of complete sound and video programs which formerly were only available via cable, broadcast and stored media (VCRs and DVDs). The report concludes with a comprehensive description of the major sound and video compression techniques, including MPEG-4 - which goes far beyond compression to include client-side applications, Virtual Reality Modelling Language 3D animation, voice synthesis, sound synthesis and processing of local sound signals. We provide detailed descriptions of MP3 audio and MPEG-2 and H.264/AVC video compression systems as well as the MPEG-7 metadata and MPEG-21 Digital Rights Management (DRM) standards.

The BuddeComm Technical Library is intended for readers with minimal technical background, and for technical specialists in related fields. The Library's Biennial and Web Reports provide an overview of a field together with sufficient low level detail to enable readers to develop a genuine understanding of the various technologies. While most of the material is introductory and of a tutorial nature, we also provide critical viewpoints of particular technologies and discuss how different technologies compete with each other or can be used together. This is intended to enable our customers to critically evaluate proposals and to extend their ability to plan their own projects and investments.

The companion volume to this report is available and includes information on Internet Infrastructure technologies: 2007 Internet Technology - Volume 1 - Infrastructure

Content

  • 1. Http Basics
    • 1.1 Introduction - the Web
    • 1.2 Introduction to HTTP
    • 1.3 HTTPS
      • 1.3.1 SSL/TLS Transport Layer Security
      • 1.3.2 Privacy and security
      • 1.3.3 Public key cryptography
      • 1.3.4 Key length and random numbers
      • 1.3.5 Hardware generation of random numbers
      • 1.3.6 Authentication of server and client
    • 1.4 HTTP 1.1
      • 1.4.1 URI, URN and URL
      • 1.4.2 Persistence and pipelining
      • 1.4.3 Typical request
      • 1.4.4 Typical response
      • 1.4.5 Request and response pairs are independent
      • 1.4.6 MIME Content-Type header
      • 1.4.7 Other response headers
      • 1.4.8 Request methods and headers
      • 1.4.9 Response codes
      • 1.4.10 ETag
      • 1.4.11 Authorisation
      • 1.4.12 POST and GET methods for web forms
  • 2. Http Proxies, Cookies, Webdav And Web Services
    • 2.1 Server log files
      • 2.1.1 Log file analysis
    • 2.2 Proxy servers
      • 2.2.1 Transparent proxy servers
      • 2.2.2 Reverse proxy integrated with web server
      • 2.2.3 Cache control
    • 2.3 Clustering - large server sites
      • 2.3.1 Multiple servers in parallel
      • 2.3.2 Multiple layers of servers
    • 2.4 Cookies
    • 2.5 Applications and extensions to HTTP 1.1
      • 2.5.1 Microsoft Front Page extensions
      • 2.5.2 IPP - Internet Printing Protocol
    • 2.6 WebDAV
      • 2.6.1 Applications and extensions
    • 2.7 Web Services
      • 2.7.1 SOAP
      • 2.7.2 CORBA
      • 2.7.3 WSDL and UDDI description schemes
      • 2.7.4 Complexity
  • 3. Html Basics
    • 3.1 Current and future standards
      • 3.1.1 Complexity and compatibility
      • 3.1.2 Accessibility versus visual appeal
      • 3.1.3 USAbility guidelines
      • 3.1.4 Breadcrumbs navigational aids
    • 3.2 Semantic Web
    • 3.3 Basic HTML
      • 3.3.1 A simple HTML example
      • 3.3.2 Elements, attributes and values
      • 3.3.3 Collapsing whitespace
    • 3.4 SGML and XML
      • 3.4.1 Document Type Definition - DTD
      • 3.4.2 Simpler XML
      • 3.4.3 Previous versions of HTML
  • 4. Html 4.01 And Xhtml
    • 4.1 HTML 4.01 - the current standard
      • 4.1.1 Internationalisation
      • 4.1.2 Accessibility
      • 4.1.3 Tables
      • 4.1.4 The LINK header element
      • 4.1.5 Compound documents - OBJECT
      • 4.1.6 Frames
    • 4.2 XHTML
      • 4.2.1 XHTML 1.0
      • 4.2.2 XHTML Basic
      • 4.2.3 Modular XHTML
      • 4.2.4 XHTML 2.0
    • 4.3 HTML standardisation failure
      • 4.3.1 Browser compatibility
      • 4.3.2 WHATWG.org
      • 4.3.3 The W3C changes tack
  • 5. Cascading Style Sheets And Dom
    • 5.1 Cascading Style Sheets (CSS)
      • 5.1.2 Printing and other rendering models
      • 5.1.3 Inline style
      • 5.1.4 Default stylesheet and stylesheet language
      • 5.1.5 Defining a style
      • 5.1.6 Importing style sheets
      • 5.1.7 The Cascade - Precedence of different sources of style information
      • 5.1.8 Inheritance
      • 5.1.9 Multiple classes
      • 5.1.10 Multiple selectors
      • 5.1.11 Aspects of presentation controlled by CSS
    • 5.2 HTML and CSS editors
      • 5.2.1 Dreamweaver
      • 5.2.2 Mozilla Composer and Nvu
      • 5.2.3 Amaya
      • 5.2.4 Web Developer plugin
    • 5.3 Document Object Model (DOM)
      • 5.3.1 DOM standardisation
      • 5.3.2 DOM Level 1
      • 5.3.3 DOM Level 2
      • 5.3.4 DOM Level 3
      • 5.3.5 Web page as a programming environment
  • 6. Webfeed, Podcasting And Client Side Scripting
    • 6.1 Webfeed - RSS, Atom and PodCasting
      • 6.1.1 Basic Syndication
      • 6.1.2 Metadata
      • 6.1.3 Active bookmarks
      • 6.1.4 Link types for webfeed
      • 6.1.5 Atom versus RSS
      • 6.1.6 Podcasting
    • 6.2 Java and scripting languages
      • 6.2.1 Java
      • 6.2.2 SMIL
      • 6.2.3 XUL
      • 6.2.4 Other scripting languages
      • 6.2.5 JavaScript and ECMAScript
  • 7. Ajax Pages And Applications
    • 7.1 Ajax
      • 7.1.1 Google Maps
      • 7.1.2 JavaScript and the Ajax Engine
      • 7.1.3 HTML and CSS
      • 7.1.4 Document Object Model
      • 7.1.5 XML communication with the server
      • 7.1.6 Ajax example - Google Suggest
      • 7.1.7 XSLT
      • 7.1.8 Difficulties with Ajax
      • 7.1.9 Computer independence
    • 7.2 Ajax engines and frameworks
      • 7.2.1 Google Web Toolkit
      • 7.2.2 Alternative Ajax-like architectures
      • 7.2.3 JavaScript and XML compression
      • 7.2.4 Ajax server software
      • 7.2.5 Rich Internet Application - Single Page Application
  • 8. Server Programming
    • 8.1 Server languages and frameworks
      • 8.1.1 SHTML - Server Side Includes (SSI)
      • 8.1.2 JavaBeans
      • 8.1.3 Java servlets and server pages
      • 8.1.4 Java Platform - Enterprise Edition
      • 8.1.5 CGI-BIN
      • 8.1.6 C, C++ and deamons
      • 8.1.7 Perl
      • 8.1.8 PHP
      • 8.1.9 Python
      • 8.1.10 Apache
      • 8.1.11 Database Management Systems
      • 8.1.12 LAMP - databases and PHP
      • 8.1.13 MySQL and PostgreSQL
  • 9. Frameworks And Content Management Systems
    • 9.1 Microsoft IIS
      • 9.1.1 Active Server Pages (ASP)
    • 9.2 Common Language Infrastructure
      • 9.2.1 Java bytecode not suitable for other languages
      • 9.2.2 Protection of source code
      • 9.2.3 CPU and Operating System independence
      • 9.2.4 Dependence on Microsoft frameworks
    • 9.3 ColdFusion
      • 9.3.1 Capabilities
      • 9.3.2 ColdFusion alternatives
    • 9.4 Content Management Systems
      • 9.4.1 Long URLs and complexity
      • 9.4.2 Stellent
      • 9.4.3 Wikis
      • 9.4.4 Drupal, Mambo, Joomla and Plone
      • 9.4.5 Ruby on Rails
    • 9.5 Control Panels
      • 9.5.1 cPanel and Plesk
      • 9.5.2 Commercial and open-source control panels
  • 10. File Formats, Web 2.0 And Futures
    • 10.1 Graphic and multimedia file formats
      • 10.1.1 JPG
      • 10.1.2 GIF
      • 10.1.3 PNG
      • 10.1.4 SVG
      • 10.1.5 Adobe Flash
      • 10.1.6 Adobe PDF
    • 10.2 Web 2.0 and the future
      • 10.2.1 New methods of linkage
      • 10.2.2 Blogs and discussion sites
      • 10.2.3 User generated content
      • 10.2.4 Pay-per-click advertising
      • 10.2.5 New traffic patterns
      • 10.2.6 Network Neutrality and QoS
      • 10.2.7 New user interfaces
      • 10.2.8 Web services and mashups
      • 10.2.9 New markets - the long Tail
  • 11. Audio Visual Coding - Mpeg
    • 11.1 MPEG 1 and MP3
      • 11.1.1 Introduction
      • 11.1.2 Data compression and 'coding'
      • 11.1.3 MPEG-1
      • 11.1.4 MPEG-1 Audio Layers I and II
      • 11.1.5 MPEG-I Audio Layer III (MP3)
      • 11.1.6 Other lossy audio compression standards
    • 11.2 MPEG 2 AAC and Video
      • 11.2.1 Introduction
      • 11.2.2 MPEG-2 Transport Stream
      • 11.2.3 MPEG-2 audio compression
      • 11.2.4 MPEG-2/4 Advanced Audio Coding (AAC)
      • 11.2.5 MPEG-4 Parametric Audio Coding - HILN
      • 11.2.6 MPEG-2 video compression
    • 11.3 MPEG 4 Video and VRML
      • 11.3.1 Introduction
      • 11.3.2 MPEG-4 Video and multimedia compression
      • 11.3.3 Advanced Video Coding - H.264/AVC
      • 11.3.4 Interactive and VRML elements
      • 11.3.5 MPEG-7 metadata
      • 11.3.6 MPEG-21 Digital Rights Management
  • 12. Glossary Of Abbreviations
  • List Of Exhibits
    • Exhibit 1 - H.264/AVC Levels