Web Page Tools and Browser CGI flash Plugins and Dynamic Controls

Featuring Web Tools and Website Building and Webdesign tips and tricks.


Forking PHP!

Posted on: July 29, 2010
We use PHP everywhere in our stack. For us, it makes sense because we have hired a great staff of PHP developers. So, we leverage that talent by using PHP everywhere we can.

One place where people seem to stumble with PHP is with long running PHP processes or parallel processing. The pcntl extension gives you the ability to fork PHP processes and run lots of children like many other unix daemons might. We use this for various things. Most notably, we use it run Gearman worker processes. While at the OReilly Open Sourc Convention in 2009, we were asked about how we pulled this off. So, we are releasing the two scripts that handle the forking and some instructions on how we use them.

This is not a detailed post about long running PHP scripts. ; Maybe I can get to the dos and don'ts of that another time. ; But, these are the scripts we use to manage long running processes. ; They work great for us on Linux. ; They will not run on Windows at all. ; We also never had any trouble running them on Mac OS X.

The first script, prefork.php, is for forking a given function from a given file and running n children that will execute that function. There can be a startup function that is run before any forking begins and a shutdown function to run when all the children have died.

The second script, prefork_class.php, uses a class with defined methods instead of relying on the command line for function names. This script has the added benefit of having functions that can be run just before each fork and after each fork. This allows the parent process to farm work out to each child by changing the variables that will be present when the child starts up. This is the script we use for managing our Gearman workers. We have a class that controls how many workers are started and what functions they provide. I may release a generic class that does that soon. Right now it is tied to our code library structure pretty tightly.

We have also included two examples. They are simple, but do work to show you how the scripts work.

You can download the code from the dealnews.com developers' page.

UPDATE: I have released a Gearman Worker Manager on Github.

http://brian.moonspot.net/php-fork
Post Link

Data Collection Protocols: AAA (RADIUS, Diameter, and TACACS+)

Posted on: July 21, 2010

RADIUS, Diameter, and TACACS+ are three protocols for carrying Authentication, Authorization, and Accounting (AAA) information between a Network Access Server (NAS) that wants to authenticate its links or end users and a shared authentication server. The end user connects to the NAS, which in turn becomes a AAA client trying to authenticate the end user to the AAA server.

On this entry will concentrates on the last "A" of AAA (even though most of the time AAA is not primarily used for billing, but for authentication and authorization). However, when binding the accounting information with the authentication informs, the AAA protocols offer an interesting advantage for billing: the authenticated username.

RADIUS

Remote Authentication Dial-In User Service (RADIUS) is a client/server protocol developed by the IETF. The RADIUS client is typically a NAS, and the RADIUS server is usually a daemon process running on a UNIX or Windows server.

The RADIUS client (that is, the NAS) passes user information to designated RADIUS servers and acts on the returned response. RADIUS servers receive user connection requests via the NAS, authenticate the user, and then provide the NAS with configuration information necessary for it to deliver a specific service to the user.

Transactions between the RADIUS client and RADIUS server are authenticated with a shared secret key, which is never sent over the network. In addition, user passwords are sent encrypted between the RADIUS client and RADIUS server to eliminate the possibility that someone snooping on an insecure network could determine a user's password.

The accounting features of the RADIUS protocol can be used independently of RADIUS authentication or authorization. The NAS, which provides a service to the dial-in user (such as PPP or Telnet) is responsible for passing user accounting information to a designated RADIUS accounting server. At the start of service delivery, the NAS generates an "Accounting Start" packet describing the type of service being delivered and the user accessing the service. This packet is sent to the RADIUS accounting server, which returns an acknowledgment (the Accounting-Response) to the NAS, acknowledging that the "Accounting Start" packet has been received. At the end of the service delivery, the NAS client generates an "Accounting Stop" packet, describing the type of service that was delivered and session statistics such as elapsed time, input and output octets, and input and output packets. Here is the complete list of RADIUS accounting attributes, as described in RFC 2866: Acct-Status-Type, Acct-Delay-Time, Acct-Input-Octets, Acct-Output-Octets, Acct-Session-Id, Acct-Authentic, Acct-Session-Time, Acct-Input-Packets, Acct-Output-Packets, Acct-Terminate-Cause, Acct-Multi-Session-Id, and Acct-Link-Count. If the RADIUS server returns no response to the RADIUS client within a defined timeout, the request is resent a number of times. The RADIUS client can also forward requests to an alternate RADIUS server or servers in case the primary server is down or unreachable.

The UDP transport is a major issue in RADIUS accounting, where packet loss may translate directly into revenue loss.

For further references on RADIUS, refer to Table 3-9, which mainly focuses on the RADIUS accounting references. Note, for completeness, that other RADIUS RFCs are available: 2548, 2618, 2619, 2809, 2882, 3162, 3575, 3576, 3579, and 3580.

Table 1. RADIUS References
RFCStatusTitleDescription
2620InformationalRADIUS Accounting Client MIBManaged objects used to manage RADIUS accounting clients
2621InformationalRADIUS Accounting Server MIBManaged objects used to manage RADIUS accounting servers
2865StandardRemote Authentication Dial-In User Service (RADIUS)Protocol specifications for authentication, authorization, and configuration information
2866StandardRADIUS AccountingSpecifies the RADIUS Accounting protocol
2867InformationalRADIUS Accounting Modifications for Tunnel Protocol SupportDefines new RADIUS Accounting attributes and new values for tunneling in dialup networks
2868InformationalRADIUS Attributes for Tunnel Protocol SupportRADIUS attributes designed to support the provision of compulsory tunneling in dialup networks
2869InformationalRADIUS ExtensionsAttributes for carrying authentication, authorization, and accounting information

Note that the IETF RADIUS Extensions Working Group currently is focusing on extensions to the RADIUS protocol required to enable its use in applications such as IP telephony and local-area network AAA. To keep backward compatibility, the working group decided not to define new transports (such as TCP and SCTP).

Diameter

The Diameter protocol, standardized by the IETF Authentication, Authorization and Accounting working group, is the successor to the RADIUS protocol and was developed to overcome several limitations of RADIUS.

AAA protocols such as TACACS+ and RADIUS were initially deployed to provide dialup Point-to-Point Protocol (PPP) and terminal server access. Over time, with the growth of the Internet and the introduction of new access technologies, including wireless, DSL, Mobile IP, and Ethernet, routers and network access servers (NAS) have increased in complexity and density, putting new demands on AAA protocols.

Diameter introduced a couple of improvements compared to RADIUS:

  • Application-layer acknowledgments and failover algorithms

  • Mandatory IPsec and optional TLS supports

  • Reliable transport mechanisms (TCP, SCTP)

  • Support for server-initiated messages

  • Data object security is supported but not mandatory

  • Capability negotiation between clients and servers

  • Peer discovery and configuration

Table 2. Diameter References
RFCStatusTitleDescription
3588StandardDiameter Base ProtocolProtocol description
3589InformationalDiameter Command Codes for Third Generation Partnership ProjectManaged objects used to manage RADIUS accounting clients

For completeness, RFC 3589 also deals with Diameter, but not with accounting. Note also that several Diameter IETF drafts currently are in progress.




http://blogs.oracle.com/raulgoy/2010/07/data_collection_protocols_aaa.html
Post Link

Tracking users from post processing the access.log

Posted on: July 10, 2010

Most log analysers do not produce all statistics that a site might want to track. One of the important usage statistics that needs to be calculated is to track the number of active users (i.e. users that are actively using the system - not idle users) to try and correlate performance events with level of usage on the system.
It is possible to post process the access.log files using a set of UNIX script to summarize the information as the basic information such as userid and date time are contained in the file. The key to processing this data is to:


  • Filter out the superfluous data and isolate the userid, date and time from the access.log records. Remember a record is written to the access.log when the user is actively seeking a resource on the web server. This is a definition of an "active" transaction record.

  • Summarize that subset by the desired time frame (say each minute of the day). This is to cut down the information to the basics that are needed to for analysis. After the summarization you should end up with a unique record for each user in that minute of the day for the dates you require.

Note: The code below is not optimized and is provided as is. I am not a great script programmer and I am sure some of you out there would improve on it.

The script below is an example of such a set of commands to summarize that information:

#!/usr/bin/ksh
# Find all the access.log files in the log directory
# 1) We read each record from the access.log files (cat)
# 2) We filter out the console (grep)
# 3) We get the date time and userid from the access log record (cut)
# 4) We substring the date/time to chop off the seconds, the first "[" char and move the fields around (awk)
# 5) We filter out any records containing "-" (grep)
# 6) We isolate duplicates within that minute (sort)
# 7) We comma seperate the date/time and userid fields (sed)
# 8) Change the ":" within the date/time field to seperate date and time (sed) - Only the first one which should be at the end of the date
# At the end of pass 1 you should have a CSV that has a unique user entry for a date and time to the minute level. This implies that the user was active for that minute on that date.
ls -1 $SPLEBASE/logs/system/*access.log | while read _file
do
echo `date` : Started Parsing ${_file}
echo `date` : Pass 1 Started - Creating user list by minute
export _outfile=${_file}_userlist.csv
cat ${_file} | grep -v console |cut -f3,4 -d " " | awk '{print substr($2,2,17),$1}' | grep -v "-" | sort -u | sed -e "s% %,%g" | sed -e "s%:%,%" >${_outfile}
echo `date` : Pass 1 Ended - Check ${_outfile} for results
echo `date` : Lines created: `wc -l <${_outfile}`
done
echo `date` : Parsing finished

The above set of commands creates a file containing the date, time (to minute only) and userid and is comma delimited.
Note: Additionally the above information with coupled with information from SC_USER table will yield the Name of the user. It can also be used to determine who did not logon on (as you have the users who were active, the missing users are the ones that DID NOT login in the collection period).
This information may be loaded into data or post processed by another script to count the number of users in each minute of the day. The script below is such a script, which takes the files produced by the last process and creates active user counts:


#!/usr/bin/ksh
# Find all the *_userlist.csv files in the current directory
# 1) Sort the file to remove duplicates (just in case the files were combined)
# Otherwise you might count a user twice.
# 2) For each date/time combination work out how many users are active.
# 3) Output a date, time, number CSV file called _summary.csv
ls -1 *userlist.csv | while read _file
do
echo `date` : Started Parsing ${_file}
export _tmpfile=$$.tmp
cat ${_file} | cut -f1,2 -d "," | sort -u >${_tmpfile}
echo `date` : Pass 2 Started - Creating user summary
# Set the file name for the output
export _outfile=`basename ${_file} _userlist.csv`
export _outfile=${_outfile}_summary.csv
# Delete the file if it exists as you are going to append to it
rm -rf ${_outfile} 2>/dev/null
# Set the initial key values
export _key=""
export _count=0
# Loop through file and count number of instances
cat ${_tmpfile} | sort -u | while read _key
do
export _numrows=`cat ${_file} | grep "${_key}" | wc -l`
echo ${_key},${_numrows} >>${_outfile}
done
rm -rf ${_tmpfile} 2>/dev/null
echo `date` : Pass 2 Ended - Check ${_outfile} for results
echo `date` : Lines created: `wc -l <${_outfile}`
done
echo `date` : Parsing finished

This will produce a file that contains date, time (to the minute) and count of active users in a comma delimited format that can be loaded into Excel to produce relevant graphs.

http://blogs.oracle.com/theshortenspot/2010/07/tracking_users_from_post_proce.html
Post Link

Oracle Gateway Master Note

Posted on: July 05, 2010

Master Note for Oracle Gateway Products

1. Concepts and Availability

Oracle Gateway products are based on Heterogeneous Services and allow access to non-Oracle databases from Oracle products.
Heterogeneous Services provides the generic technology for connecting to non-Oracle systems. As an integrated component of the database, Heterogeneous Services can exploit features of the database, such as the powerful SQL parsing and distributed optimization capabilities.
Heterogeneous Services extend the Oracle SQL engine to recognize the SQL and procedural capabilities of the remote non-Oracle system and the mappings required to obtain necessary data dictionary information.

There are dedicated Gateways for the following non-Oracle data sources -
- Microsoft SQL*Server - Database Gateway for SQL*Server (DG4Msql)
- Sybase - Database Gateway for Sybase (DG4Sybase)
- Informix - Database Gateway for Informix (DG4Ifmx)
- IBM DB2 - Database Gateway for DRDA (DG4DRDA)
- Teradata - Database Gateway for Teradata (DG4Teradata)
- Websphere MQ - Database Gateway for Websphere MQ (DG4MQ)
- Remote online transaction processors (OLTPs) - Database Gateway for APPC (DG4APPC)
- IMS - Database Gateway for IMS (DG4IMS)
- VSAM - Database Gateway for VSAM (Dg4VSAM)
- Adabas - Database Gateway for Adabas (DG4Adabas)

Non-Oracle datasources for which a dedicated gateway is not available can be accessed by using the following -

Database Gateway for ODBC (DG4ODBC)

which uses third party ODBC drivers to make the connection to the non-Oracle data source.

There are differences in the functionality and licensing of the Database Gateway for ODBC and the other gateways which are discussed in these notes -
Note.252364.1 Functional Differences Between Generic Connectivity and Database Gateways
Note.232482.1 Gateway and Generic Connectivity Licensing Considerations

The following note has information about the desupport of earlier gateway versions -

Note.549796.1 Desupport of Oracle Transparent Gateways

Oracle's Software Error Correction Support policy document is available in ; Note.209768.1

Oracle's Lifetime Support Policy document is available here:

http://www.oracle.com/support/library/brochure/lifetime-support-technology.pdf

The certification matrix for the 11.1 and 11.2 Gateways is now available on OTN from the following URL -

http://www.oracle.com/technology/products/gateways/index.html

then -

Database Gateways Certification Matrix (PDF)
Mainframe Database Gateways Certification Matrix (PDF)
Legacy Database Gateways Certification Matrix (PDF)


2. Downloading Gateway Products

Oracle Gateway products can be downloaded from the following -

1. Oracle Technology Network - OTN -

http://www.oracle.com/technology/software/products/database/index.html

Choose the relevant platform and version then the 'See All' option.
Under that there will be an option to download the Gateway products, for example -

Oracle Database Gateways 11g Release 2 (11.2.0.1.0) for Microsoft Windows (32-bit)

Please note that Gateway products are only available on Windows 64-bit for the 11.2 versions.

2. Oracle eDelivery

http://edelivery.oracle.com/

- choose your language and go through the Export Validation process
- on the next screen ' Media Pack Search' screen choose -
;Select a Product Pack - Oracle database
- then choose your platform
- choose the 'Oracle database' media pack for the version you need - 11.1 or 11.2
- on the next screen there will be a gateway media pack to download.


3. Installation and Configuration

The installation and configuration for each gateway is described in the documentation.
This is available from -

http://www.oracle.com/technology/documentation/index.html

Click on the version required - 11.1 or 11.2 ; - then 'View Library'
The Gateway documentation is available from the 'Information Integration' option under the 'Heterogeneous Connectivity' heading.
There are also notes available in My Oracle Support (MOS) to help with the install and configuration -

- logon to MOS -

http://support.oracle.com

- Knowledge tab
- Oracle Database Products
- Oracle Database
- Gateways
- then choose the relevant gateway

Examples are -

Note.437374.1 How to Setup DG4MSQL (Oracle Database Gateway for MS SQL Server) Release 11 on Linux
Note.466267.1 How to Setup DG4MSQL (Database Gateway for MS SQL Server) on Windows 32bit
Note.562509.1 How to Setup DG4MSQL (Oracle Database Gateway for MS SQL Server) 64bit Unix OS (Linux, Solaris, AIX,HP-UX)
Note.466228.1 How to Setup DG4ODBC on Linux x86 32bit
Note.561033.1 How to Setup DG4ODBC on 64bit Unix OS (Linux, Solaris, AIX, HP-UX)
Note.466225.1 How to Setup DG4ODBC (Oracle Database Gateway for ODBC) on Windows 32bit
Note.945879.1 How to Setup DG4DRDA (Oracle Database Gateway for DRDA) Release 11.2 on Unix (Linux, AIX, HP-UX Itanium and Solaris)
Note.437689.1 How to Setup DG4IFMX (Oracle Database Gateway for Informix) Release 11 on Linux
Note.437696.1 How to Setup DG4SYBS (Oracle Database Gateway for Sybase) Release 11 on Linux
Note.554402.1 How to Setup DG4TERA (Oracle Database Gateway for TeraData) on Windows 32bit
Note.823534.1 How to Setup DG4Tera (Oracle Database Gateway for TeraData) on 64bit Unix
Note.437680.1How to Setup DG4Tera (Oracle Database Gateway for TeraData) Release 11 on Linux
Note.467947.1Setting up Legacy Gateways DG4ADABAS, DG4VSAM, DG4IMS)
Note.564299.1 How to Install DG4MQ on Linux

but new notes are continually being added.



4. Troubleshooting

The following note details some of the common errors and solutions for Gateway issues -

Note.234517.1 How to Resolve Common Errors Encountered while using Transparent Gateways or Generic Connectivity

If you need to raise a service request with Oracle Support then the following information is needed to help speed up resolution -

- name and full version of the gateway being used
- platform and version where the gateway is installed
- version of the Oracle RDBMS being used to access the gateway
- name and full version of the non-Oracle data source being accessed
- configuration files and information -
gateway listener.ora
gateway init.ora
tnsnames.ora
create database link statement
- statement causing the error
- full error being received from SQLPLUS when running the problem statement
- a gateway debug trace file from running the problem statement. This is created by adding the following to the gateway initHS_FDS_TRACE_LEVEL=debug
and running the problem statement from a new session. It is not necessary to stop and start the listener for this to take effect.
- note that for DG4DRDA 11.1 there is a different procedure for setting up debug tracing which is described in the documentation and also in these notes -
Note.221136.1 How To Trace DRDA Gateway (TG4DRDA or DG4DRDA) On Unix platforms
Note.428387.1 How To Trace The Transparent Gateway For DRDA (TG4DRDA) On Windows Platforms


Who to contact for more information?


Gateway information is available from My Oracle Support (MOS) -

http://support.oracle.com

- Knowledge tab
- Oracle Database Products
- Oracle Database
- Gateways

There is a My Oracle Support Database Gateways Community, a place to collaborate with peers in the industry and with Oracle experts which is live now at:

https://communities.oracle.com/portal/server.pt/community/database_gateways/299

There is also an Oracle Technology Network forum available at -

http://forums.oracle.com/forums/forum.jspa?forumID=63





















http://blogs.oracle.com/db/2010/07/oracle_gateway_master_note.html
Post Link

Web Design - Why is it Important to Me?

Posted on: April 24, 2010
By Kevin Symons and Laura Symons

Services Web Design the Winning Inch

Introduction to Web site design

Part 1 of 10

Imagine this web page as the tip of a very large iceberg. What you see on screen is actually the smallest part. To be successful on the World Wide Web / Internet takes time, effort and of course money.

Introduction

Deciding to get onto the World Wide Web / Internet today has never been quicker or easier. There are so many options from "do it yourself", Choose a pre-made template or choose from over a million Web designers ranging from the ridiculously cheap to the mega expensive.

Many first ventures onto the Internet end in disillusionment, massive expense, or simply walk away the project and forgetting the whole thing.

Why is that? The Internet is a massive beast and is built on a highly technical environment. The reality of the environment is hidden from us by friendly front-end systems. Which is great by encouraging more people to use it. But by not understanding how it all works means that you can not use it to your advantage. With so much competition on the Internet this means you will not get the results you want or expect.

This article is the first in a series of 10 over which we will provide a simple guide to services for web design and to provide the winning inch of knowledge to ensure your success on the Internet.

In this introduction we will cover some of the basics to act as backdrop as you to move through the remaining nine short articles.

We have adopted a process of nine steps courtesy of Services Web Design.

Introduction

1. Consulting
2. Keywords
3. Domain Naming
4. Design
5. Hosting
6. Integration
7. E-commerce
8. SEO (Search Engine Optimization)
9. Internet Marketing


Introduction to Web Design - Basic technology:

HyperText Markup Language (HTML)

Client Server Technology

Web Browsers

1. HyperText Markup Language (HTML)

Many will have heard of it and many will know what it does, however many will never want to use it. Dating back, it was a language for formatting text to allow academics to communicate and share with each other.

Today, there are many software products that present a simple user interface to creating web pages. The software then translates your colors, text styles, lines, boxes and graphical image placement into HTML.

This removes the user from the technology altogether. On one hand it is great, it means more people get low cost access to the Internet, whilst on the other hand, not so great as it also means that you are not in control of your web pages!

When you need to add or change something in the HTML, which you will, you are suddenly confronted with reality of what the software has created! Trying to navigate your way through it is both daunting and potentially harmful to your Website.

To make things easier Frames were introduced to help speed up physical layouts and remove the need for HTML knowledge. Many templates on offer today will be "frames based". The problem with frames is that search engines do not like them. The search engine robots that index your site likes to start at the top right and work through bottom left. So when it finds a table it can become confused. All this means that your Website may not get indexed or if it does it may not index what you want it to. This may cause poor page ranking meaning that your Website will never make it to the first two or three pages of a search result.

The same is true of you use a Flash based Website. But there will be more on this and the whole issue of Search Engine Optimization in chapter 8.

The World Wide Web Consortium (W3C) have agreed a standard for better layout and formatting by using Cascading Style Sheets (CSS). This is a separate file to the HTML page. It is used by a Web Browser to interpret both the HTML and the Style of a web page. A lot can be achieved using CSS with the benefit of the HTML page remaining pure. CSS is more complicated to learn and use but it has significant advantages in making changes across large sites from a single file.

All professional Website designers are being encouraged to use CSS and most good ones do.

The W3C provides self-certification for Websites that conforms to the standards laid out for both HTML and CSS. Lookout for the certification symbols / link on pages that conform to W3C standards as you browse. You can use the link yourself it will take you directly the validation page. You can check any Web page in this way for yourself.

http://jigsaw.w3.org/

Things to take away from section 1:

* Exposure to HTML to fix or add things is inevitable regardless of Software package used
* Clean HTML improves your likelihood of success on the Internet
* CSS is an approved standard that all future / most current web browsers support.

2. Server and storage - Internet Service Provider

Internet Service Providers (ISP) will sell/rent you space to host your Website using their hardware. They own massive server farms and usually offer two core technologies namely Unix (many variants) and Microsoft.

In simple terms the ISP, for a fee, will create a directory on a server (hard disc) in much the same way you would on your own computer i.e. to organize and store your files. This directory is then given an address. On your computer you will probably have a directory called "My Documents". On an ISP server it will http://www. This address is called a "Universal Resource Locator" (URL).

A URL is a way of accessing the documents within a directory created by an ISP "the Website address. Web addresses / urls look like this http://www.services-web-design.co.uk/index.htm

To break this address down we begin with "HTTP" (HyperText Transfer Protocol) as a way of identifying that you want to access an hypertext page. HTTP is a request/response protocol between you, the client, and an ISP server.

The request is transferred to the server via Transmission Control Protocol (TCP) and is used again to deliver the HyperText Markup Language (HTML) page to your web page viewer (browser such as Internet Explorer, Firefox etc)

The browser, which is located on your local computer, interprets the HTML page and displays it on your screen according to the design.

The :// part is simply telling the TCP to look at the highest directory. On your computer this is probably C:/ or "My Computer".

"WWW" tells the TCP to look on the World Wide Web followed by the "." (period) followed by your specific Website address "." (period) extension i.e. COMpany or ORGanisation etc. Finally "/" to indicate the actual page in the example given it is the Index page (home page).

If no page name is given the default will always be the Index (home) page.

You may have seen other address types such HTTPS://name.website.com. The "S" indicates "Secure", you will most likely see this when making any transaction via a web page or filling out a form.

The important aspect to take from this section is that a Website is a collection of documents (HTML pages). A Website is really nothing more than a common address to those pages. You can address any page of the site directly e.g.

http://www.services-web-design.com will default to the home page (Index.htm)

http://www.services-web-design.com/process_map.htm will take you directly to the process map page.

Loading pages to your space on the ISPs server is achieved by using another protocol. The File Transfer Protocol (FTP). Much like TCP is the "get page" protocol, FTP is the "put a page" protocol.

To do this you will need to know the FTP address, the directory (usually "htdocs"), your user name (assigned by the ISP), your password and of course a document list on your local computer to "upload".

It is no more complicated than copying files from one location to another. However, the speed is governed by your connection.

The choices of connection range from a modem using your telephone line or broadband. You may be on a network, but your network server will still use variants of either. The only thing to watch for is your firewall or your computer security software that may want to block the FTP transmission.

Things to take away from this section 2:

* A Website is a collection of HTML pages
* Any HTML page can be accessed directly
* Websites are hosted by an Internet Service Provider who acts as the "sever"

3. Internet Browsers.

We talked a little about these earlier. This software is located on your computer and it translates the HTML page to your screen. Not all browsers interpret the HTML page in the same way!

When designing your Website you must make allowances for the lowest possible common browser. Your web page may look great in Firefox version 2.0 but may actually crash someone else's computer if they are using Internet Explorer version 5!

The World Wide Web Consortium (W3C) together with the Internet Engineering Task Force have created standards. This covers HTTP, HTML, CSS etc. With standards in place all Web browser vendors can develop / build their browsers to a common standard. Meaning they will all interpret and display web pages in the same way. But as there are millions of people using a multitude of computers of varying technology with various browsers. The rule for Web designers is to allow for the lowest common version possible.

You may see this demonstrated on professional Websites where two versions are made available. One version for latter day browsers and an alternative version for older browsers.

But all professionally built Websites will provide an alternative / simple "text-link" based menu in additional to the main menu, and will use complexity sparingly. This allows all browsers to read your web page and thus reach as many people as possible.

Things to take away from this section 3:

* Web Browsers interpret the HTML page to your screen "the client"
* Not all Web browser interpret HTML pages in the same way
* Website designers must make allowance for the lowest possible browser technology

In this section we covered the basics on how the World Wide Web / Internet technology works.

The next article covers the importance of planning your Website and using appropriate consulting to avoid making costly mistakes. http://websitedesignbasics.blogspot.com/2009/09/web-design-why-is-it-important-to-me.html
Post Link

TagCloud:                            

Recent Posts

Move Over Taylor Swift, Occipital Brings Real-Time Panorama Creation to the iPhone
Data Centers Suited For Dr. Evil and Servers, Too
Official BI 11g Launch Page
Google Places API Could Do For Check-ins What Google Maps Did For Maps
Twitter Annotations Not Coming Soon, After All
PHP command line progress bar
links for 2010-07-30
BI11g - New Features - Custom Groups
The Truth About Legacy Technology
Forget Technical Terms - Whoever Gets the Most Developers Wins...Period

Categories


Archives

  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • Sponsors

    Partners

    Programming Tool Links Webmaster tricks and tips Graphic Design Links
    Add Web Tool links Web Design Tool links IT plugin Links


    Sitemap | Google Sitemap | RSS Feeds