Saturday, June 26, 2010
* The DNS server is down.
* IP connectivity gets lost and thus the DNS cannot resolve
* DNS cache poisoning.
* Update and zone issues.
* The DNS server does not have network connectivity to the root servers.
There are a number of ways to find out whether your system is resolving properly. You can use nslookup to verify name resolution. The nslookup command can be used to find various details relating to a particular DNS (Domain Name System) such as IP address, MX records etc.
Go to the command prompt and type in nslookup host_name server_IP_address. Replace the actual host name that you are trying to resolve for host_name and the IP address of the DNS server for server_IP_address then press enter.
This will allow you to verify if an error is on the server, if there is a widespread resolution error, or if the server is possibly down. Nslookup will also display the various types of DNS records, not just primary (A) records, or all records for a domain. You can then ping with the -a switch to also verify if DNS resolution is working fine.
Troubleshoot the dns client since most problems start with failed queries at the client. If a dns server provides incorrect data to queries that it successfully answers, then the most likely causes would be:
* Resource records (RRs) were not dynamically updated in a zone.
* An error was made when manually adding or modifying static resource records in the zone.
* Stale resource records in the DNS server database, left from cached lookups or zone records not updated with current information or removed when they are no longer needed.
If the DNS server does not resolve names for external networks, then the possible causes could be:
* The recursive query times out before it can be completed.
* A remote DNS server fails to respond.
* A remote DNS server provides incorrect data.
* DNS server recursion has been disabled.
Troubleshoot also the connectivity to the root servers. Verify that the DNS server used in a failed query can ping its root servers by IP address. If a ping attempt to one root server fails, it might indicate that an IP address for that root server has changed.

What is a Web Proxy Server?
The proxy server listens for requests from clients within the firewall and forwards these requests to remote internet servers outside the firewall. The proxy server reads responses from the external servers and then sends them to internal client clients.
In the usual case, all the clients within a given subnet use the same proxy server. This makes it possible for the proxy to cache documents efficiently that are requested by a number of clients.
People using a proxy server should feel as if they are getting responses directly from remote servers.
Clients without Domain Name Services (DNS) can still use the Web. The proxy IP address is the only information they need. Organizations using private network address spaces such as the class A net 10.*.*.* can still use the Internet as long as the proxy is visible to both the private internal net and the Internet.
Most proxy servers are implemented on a per-access method basis. Proxy servers can allow or deny internet requests according to the protocol of the requests. For instance a proxy server can allow calls to FTP servers while denying calls to HTTP servers.

You can use a proxy server in a number of ways, including:
* Permitting and restricting client access to the Internet based on the client IP address
* Caching documents for internal documents
* Selectively controlling access to the Internet and subnets based on the submitted URL
* Providing Internet access for companies using private networks
* Converting data to HTML format so it is readable by a browser
An Ordinary Web Transaction Via a Server
Many clients have their own IP address and a direct connection to servers on the Internet. When a normal HTTP request is made by the browser, the HTTP server gets only the path and keyword portion of the requested URL. Other parts of the URL, such as the protocol specifier "http:" and the host name, are clear to the remote HTTP server. The remote server knows that it is an HTTP server, and it knows the host machine that on which it is running. The requested path specifies the document or a CGI program on the local file system of the server, or some other resource available from that server.
When a user enters:
http://mycompany.com/information/ProxyDetails.html
The browser converts it to:
GET /information/ProxyDetails.html
Communication Via a Proxy Server
The proxy server acts as both a server system and a client system. It is a server when accepting HTTP requests from browsers, and acts as a client system when its browser software connects to remote servers to retrieve documents.
The proxy server uses the header fields passed to it by the browser without modification when it connects to the remote server. This means the browser does not lose any functionality when going through a proxy.
A complete proxy server should be able to communicate all the Web protocols, the most important ones being HTTP, FTP, Gopher, and WAIS. Proxies that handle only a single Internet protocol, such as HTTP, are possible, but a Web browser would then require access to other proxy servers to handle the remaining protocols.
When a browser sends a request through a proxy server, the browser always uses HTTP for the transactions with the proxy server. This is true even when the user wants to access a remote server that uses another protocol; for example, FTP.
Instead of specifying only the pathname and search keywords to the proxy server, the browser specifies the full URL. This way the proxy server has all the information necessary to make the actual request to the remote server specified in the request URL, using the protocol specified in the URL.
The browser connects to the server running on mycompany.com and issues the command and waits for a response. In this example, the browser makes a request to the HTTP server and specifies the requested resource relative to that server; there is no protocol nor host name specifier in the URL.
Advantages and Disadvantages of Caching Documents
Caching documents means storing documents locally so users do not have to connect to a remote server to get files. When a local browser requests a file, the server checks its cache to see if it has the document. If the file exists in the cache, the server serves the local copy to the browser. If you cache documents you need to decide:
* Which documents are used frequently enough to justify keeping them locally
* How long you can keep the documents in cache before fetching more recent copies.
Proxy Server-to-Proxy Server Linking
Chaining proxy servers lets you run a proxy server as a local cache on behalf of a department within an organization. The individual departments have control over the server and cache. These departmental proxy servers can connect to a proxy server on a firewall between the Internet and the organization.
Any restrictions for access set for the organization proxy server take precedence over access restrictions set for the departmental proxy servers.
For example, departmental proxy server 1 might be set to allow all URL requests. The organizational proxy server, as corporate policy, might be set to deny all URL requests for certain online publications. A request for one of these publications coming into proxy server 1 would be forwarded to the organizational proxy server. The organizational proxy server would then deny the request.
Wednesday, June 16, 2010

Whether you are completely new to hosting and website or you are just looking to change providers, the question that you should be asking it "who is the best web hosting company for me"? Each web host provider is different and certain providers are better for certain people. What do you need? The best web hosting company will be the one that meets your needs the best.
Lucky for you, there are many good web host providers today and if you properly go through the process of researching a web host, you can find one with great features, speed, reliability, support, and price. Let;s first decide on what you need in a web host provider:
Support
Do you need a lot of support? If you have never set up a web site before, then you may need some help with some of the basic steps. Your web host should be able to tell you how to set things up using their control panel or help you understand new terms. But good support isn't just for the web hosting noobs. Even if you are an experienced webmaster, a mistake may be made, either by yourself or your web host, and it will be a whole lot easier to clean up if you web host's support team is knowledgeable and friendly.
Features
Do you need PHP? Do you need a MS SQL database? Do you need a Windows server or a Linux server? Do you need script installation software like Fantastico? Do you need an SSL Certificate? The web host certainly won't be your "best web host provider" if they don't support the exact features that you need. Be sure to review our description of Basic Web Hosting Options and Advanced Web Hosting Options to find out which features you really need.
Disk Space and Bandwidth
HTML pages are small. You can fit thousands of them into a few Megabytes. But pictures, music and video can be very large. If you plan on hosting any large files, make sure your web host provider will give you enough disk space and bandwidth. Be careful of web hosts who promise unlimited disk space. There is no such thing. It is just a marketing ploy and it may mean that your sites are put on an overcrowded, slow server.
Reviews
Reviews are a very important factor to consider when deciding who is the best web hosting company. Even if they have all the features and bandwidth, you need to find out if their customers are satisfied. You can find out if their servers go down a lot or if they go the extra mile in helping their customers.
Who is the best web hosting company? That is up to you to decide. Figure out what web hosting features you need, use our Web Hosting Wizard to find some hosting plans that meet your needs, and then read our web hosting reviews. With any luck, your hard work will pay off and you will find the web host of your dreams.
Source: www.host-shopper.com

Scripting Language Support
Web 2.0 is here! No one is going to stand for any static crap anymore! Ok. That's not true. But using a scripting language can help make your site more dynamic and interactive and give your site more value. For example, you can install scripts for polls, forums, blogs, content management systems, shopping carts, surveys, mailing lists, photo galleries, and chat. Many scripts are available for different scripting languages but you will want to make sure your host supports a scripting language if you plan on using a particular script. Scripting languages include Microsoft's .NET, Classic ASP, PHP, CGI, Ruby on Rails, Python, Perl, SSI (Server Side Includes), and JSP.
Databases
Databases allow you to store almost any kind of information such as visitor contact information, blog posts, and e-commerce product data. Many scripts rely on a particular type of database so make sure that your web host supports the type of database that you need. Also make sure that they don't limit the size of your databases if you need to have a large one. Database types include MySQL, PostgreSQL, MS SQL.
SSH/Remote Access
SSH or Shell Access (remote access on Windows) means you can connect to your web server and execute commands via a command prompt or even a user interface. This is occasionally useful but most hosts have a robust control panel so that this feature isn't necessary. If you get a VPS or dedicated server, you will be likely to use this feature often.
Control Panel Software
A control panel lets you manage your web hosting. It lets you do anything from add domains, email accounts, databases and files to viewing server logs, installing scripts, and checking statistics. The most popular control panels include cPanel, DirectAdmin, vDesk, Helm, Plesk, and Virtuozzo Power Panel. Some control panels are more robust than others but they all allow you to do the basics.
Script Installation Software
Script installation software allows you to easily and automatically install different scripts such as blogs, and content management systems and even keep them up to date so that your site doesn't get hacked. The most common is Fantastico but there are others that may update the scripts more often.
CVS/SVN
CVS and SVN are versioning systems so that you can keep track of different versions of your website files. Only advanced developers will really need this feature and very few hosts offer it.
Dedicated SSL Support
If you need to sell things online or accept sensitive information on your website, then you need to secure your site with an SSL Certificate. Few shared hosts support SSL because you also have to have your own unique IP address in order to use it. Most will let you purchase a unique IP address and install an SSL certificate for an additional fee but some hosting plans won't allow a dedicated SSL certificate even if you offer them pot o' gold. Make sure to pick a hosting package that will support a dedicated SSL certificate if you need it. If you need to buy an SSL Certificate, you can compare SSL certificates at SSL Shopper.
Support Options
Support can be very important when it comes to web hosting. Practically all web hosts offer phone and email support (with varying degrees of quality) and some even allow chat support if you aren't near a phone but want to talk to (or scream at) a live person.
Source: www.host-shopper.com
Tuesday, June 15, 2010

When customers post reviews of web hosts they can give the web host an overall rating. This rating is averaged and displayed when compared hosting plans so you can see which web hosts have the highest rating.
Monthly Price
The Almighty dollar. Many worship it but web hosts offer sacrifices to it. There are web hosts that charge $4 a month and there are web hosts that charge $15 for very similar web hosting options. No one wants to pay more than they have to, but you have to be careful. If you just go for the cheapest web hosting without considering the other web hosting options and support reviews, you may be in for a wild ride as you wait hours on the phone for support or have to pay more later to get a needed feature. All the monthly prices listed on Host Shopper are for those who pay for one year of web hosting in advance.
Setup Fee
Most web hosts do not charge a setup fee but you have to check to make sure so you don’t end up paying more than you thought.
Hosting Plan Type
There are many different types of web hosting. The three most popular types are Shared web hosting, Virtual Private Server (VPS) web hosting, and dedicated web hosting. Shared hosting is the cheapest and most common type of hosting package. Your sites will be stored on the same server as many other people’s sites. A Virtual Private Server (VPS) is like your own virtual server running inside another server. You will share the hardware but not the software. A Dedicated hosting package will give you your own server so you don’t have to worry about sharing software or hardware resources. It is the most expensive but provides the most reliability.
Operating System
There are two main operating system flavors to choose from in web hosting: Windows and Linux. The classic Linux option is what most people choose, not just because of its delicious, grade A flavor or the almost unlimited number of free scripts, but because it is, quite simply, the cheapest. If you need to use PHP, your best bet is Linux. If you need to use ASP, or .NET, be prepared to spend a little more for a juicy Windows server.
Free Domains
You've got to love something if it’s free. Most web hosting plans offer at least one free domain name. Sometimes it is free for as long as you host with them. For others it is just a year. Considering that domain names are usually less than $10 this isn’t the deal of the century but it is nice if you haven't bought a domain name yet.
Gigabytes (GB) of Disk Space
The amount of disk space that comes with a hosting plan is just like the disk space on your home computer. If you have more, you can store more pictures, music, databases, etc. If your website if primarily an information site, you probably won't need more than a few GBs (if that). If you have an image or video uploading site, you'd better get a whole bunch. Be careful of hosts advertising "Unlimited" disk space or monthly bandwidth because that isn't really possible and they could kick you off if you abuse it.
Gigabytes (GB) of Monthly Bandwidth
Monthly bandwidth represents how much data can be served up to people on the Internet each month. If you host big pictures, music, or video, this will get used up much more quickly than if you just have a few pictures and text on your website.
Domains Allowed
In many cases, having more domains/web sites means you can make more money. It is normally very simple for a web host to add additional domains (you actually do it through a control panel) so most web hosts limit the number of domains allowed simply to force people to buy bigger hosting plans. Just make sure the plan you pick a plan that allows as many domains as you think you will need in the next few years.
Email Accounts
Email accounts are added just as easily as domain names and there is no reason that a server can’t support an unlimited amount, but most web hosts limit the number of email accounts. Silly web hosts.
Source: www.host-shopper.com
Sunday, June 13, 2010
Want to learn about Python? What is Python? Python is the web programming language that the Google search engine was made with! Python is used to create dynamic web pages or web applications. Python code is interpreted by the web server which then outputs a web page to the browsers that access it.
Learn about Python's capabilities
Python is available on multiple platforms. It can be used for managing email, connecting to other web sites, processing form information, storing information in a database, creating cookies in a web browser, and much more. It can connect to almost any type of database but it has a strong relationship with its free database buddy, MySQL. Python supports object oriented, imperative, and functional programming models.
Learn about Python's syntax
Syntax is the wording and way that the language has to be used for it to work. Python is very easy to understand so it is a great language for beginners to start learning how to program. Python is a very readable programming language. It often uses English keywords where other programming languages use punctuation. Here are some important things to learn about Python:
Sample Python Code* Indentation. Rather than using brackets to specify what will be in a block of code (within an if statement, for example), Python uses indentation. This means white space is very important and if you don’t indent your code properly if could do something completely unexpected.
* Variables. Variables hold different types of data. They are loosely typed to allow specific types of data like strings, numbers, arrays, or lists.
* Comments. You can use the pound sign (#) to comment out a line or three quote marks (''' my comment ''') to comment out multiple lines.
Source: www.host-shopper.com

Learn about Ruby on Rails' capabilities
Ruby on Rails uses the Ruby programming language, and can be used on Windows or Linux variant servers but is particularly loved on Mac OS machines. Ruby on Rails can be used for any typical web programming function such as managing email, connecting to other web sites or servers, processing form information, storing information in a database, creating cookies in a web browser, and much more. It can connect to almost any type of database in the world but most commonly is used in conjunction with MySQL.
Learn about Ruby on Rails' syntax
Syntax is the wording and way that the language has to be used for it to work. Ruby On Rails can take a while to learn if you are used to a typical language like PHP, but after you have some experience with it, you will be able to do most tasks more quickly than with other languages. Here are some important things to learn about Ruby on Rails:
Ruby On Rails directory structure
* Filenames. Ruby on Rails uses a specific directory structure so you always know where certain files should be. The different types of files include controllers, views, models, and helpers.
* Delimiters. Because Ruby on Rails can be embedded with HTML you need to specify what part of the page is Ruby on Rails code and what part is just static HTML. To do this, you use <% and %>. For example:
<%= "Hello World!"; %>
would print "Hello World!" within a paragraph tag so you would browser would seeHello World!
.Ruby on Rails uses the Model-View-Controller (MVC) architecture for organizing application programming. It provides scaffolding which can quickly construct most of the models and views needed for a basic website. You can code Ruby on Rails in any text editor.
Source: www.host-shopper.com
A plain HTML document that the Web daemon retrieves is static, which means it exists in a constant state: a text file that doesn't change. A CGI program, on the other hand, is executed in real-time, so that it can output dynamic information.
For example, let's say that you wanted to "hook up" your Unix database to the World Wide Web, to allow people from all over the world to query it. Basically, you need to create a CGI program that the Web daemon will execute to transmit information to the database engine, and receive the results back again and display them to the client. This is an example of a gateway, and this is where CGI, currently version 1.1, got its origins.
A CGI application can be written in almost any programming language but most commonly Perl is used. Once the program is written it needs to be put in a special folder where external programs, like your web browser, can access it. It will carry out its action, like getting information from a database, and then return information back to your browser.
Learn about CGI's capabilities
CGI is supported on almost any platform, Windows or Linux variants. CGI can be used for managing email, connecting to other web sites or servers, processing form information, storing information in a database, creating cookies in a web browser, and just about anything else.
Learn about CGI's usage
A CGI program can be requested in a web browser using either the GET method or the POST method or something else. Most CGI programs will only work if you put them in a special directory called a cgi-bin in the root of your web site. You can then access the application like this:
http://www.mydomain.com/cgi-bin/sendEmail.cgi
Source:www.host-shopper.com
* How can I compile Perl
To compile Perl you need a C compiler on your machine. If your vendor did not include one with your system, then grab a binary version of gcc from the net,
check,
+ http://www.perl.com/pub/language/info/software.html#binary
+ http://www.perl.com/CPAN/ports/
If you are on a UNIX its probably best to compile Perl yourself from the source code distribution. If you are on Windows or MacOS, you will probably be best with a binary build.
* Perl scripting basics
If you are looking to understand a perl script, then these are common elements you may find,
+ # - comment and this line wont get executed.
+ $ - indicates that this is a variable
+ & - if a word starts with a & it is a call to a sub-routine
+ < - the file is being opened for a read operation + > - the file is being opened for a write operation
+ >> - the file is being opened for an append operation
+ (.) - this puts together two variables
+ @ - if a word start with this character it indicates a single-dimension array
+ % - if a word starting with this character indicates a two-dimensional array.
* Perl versions
Version 4
+ was the fourth major release (March 1991)
+ it's stable but,
+ is old, limited, and no longer maintained;
+ its last patch (4.036) was in 1992
Version 5
+ name for the fifth major release (October 1994)
+ rewrite of the original perl source code from releases 1 through 4
+ has been modularized, object-oriented, tweaked, trimmed, and optimized
+ interface is mostly the same
Version 6
+ rewrite of the current release of Perl by the Topaz project
+ 100% source-compatibility with previous releases
+ written in nominally portable C++

If you are reporting a bug in the perl interpreter or the modules shipped with Perl, email Perl at this address,
+ perlbug@perl.com
If you are posting a bug with a non-standard port, a binary distribution, or a non-standard module then you will need to check the documentation that came with it to determine the correct place to post bugs.
* How to start a cgi script with Perl interpreter
Most web servers require this line at the start of any cgi script that uses a perl interpreter,
+ #!/usr/local/bin/perl (often the Perl 5 location) , or this,
+ #!/usr/bin/perl (often the Perl 4 location)
If this causes an error then asked your web host for it's perl compiler path details.
* Basic Perl Script
To test your ability to store and run a Perl program, enter and execute something like this,
#!/usr/local/bin/perl -w
if ($#ARGV >= 0) { $who = join(' ', @ARGV); }
else { $who = 'World'; }
print "Hello, $who!\n";
this should print "Hello" on your screen.
* How to make your Perl CGI script more efficient
Each time a GCI script runs it will need to be re-compiled by Perl and will often allocate a megabyte or more of system memory, this can be a killer.
There are two popular ways to avoid this overhead.
1. One is running the Apache HTTP server with either of the mod_perl or mod_fastcgi plugin modules.
2. Two running it with the FCGI module (from CPAN) and the mod_fastcgi module (available from http://www.fastcgi.com/) each of your Perl programs becomes a permanent CGI daemon process.
These solutions can both effect your system and how you write your CGI programs, so investigate how them carefully.
Source: www.internet-guide.co.uk
Want to learn about Perl? What is Perl? It is one of the oldest web programming language around. Practically every Linux based server comes with support for it by default. Perl is a server-side, scripting language that can output dynamic web pages or web applications. Perl code, like PHP, is run on the server and then gives HTML back to the web browser.
Learn about Perl's capabilities
Because Perl has been around since 1987, it is available on nearly every platform, Windows or Linux. Perl was originally developed for text manipulation but can now be used for managing email, connecting to other web sites or servers, processing form information, storing information in a database, reading and writing to text files, creating cookies in a web browser, and much more. Perl also support subroutines (blocks of code that can do specific things over and over).
Learn About Perl
Learn about Perl's syntax
Perl borrows a lot of syntax from the C programming language. Syntax is the wording and way that the language has to be used for it to work. Perl is designed to be practical so it can be easy to understand but it can also be complex so a higher-level language such as PHP would be a better choice for you if you are a beginning programmer. Perl uses typed variables that store a particular type of data (text, numbers, arrays, scalar, etc.). Here are some important things to learn about Perl:
* Filename. You can name your Perl files anything you like.
* Variables. Most variables are marked by a leading character which identifies the type of variable:
o $foo # a scalar
o @foo # an array
o %foo # a hash
o FOO # a file handle or constant
o &foo # a subroutine. (The & is optional)
* Comments. You can comment out code using the hash character (#).
You can code Perl in any text editor but it may help to use one that has syntax highlighting or other features. What does Perl code look like? Here is a sample:
$yesterday = parsedate('yesterday');
$printdate = strftime('%a, %b %d', localtime($yesterday));
open (FILE, ">$dir/index.html");
for (@index) {
if (/INSERT HERE/) {
print FILE "$_";
print FILE "$printdate\n";
if (($id % 5) == 0) {print FILE "\n"}
}
else {print FILE "$_"};
} # End for
close FILE;
Source:www.host-shopper.com