<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>New Webmasters &#187; Reference</title>
	<atom:link href="http://newwebmasters.net/category/reference/feed/" rel="self" type="application/rss+xml" />
	<link>http://newwebmasters.net</link>
	<description>Build a Better Website</description>
	<lastBuildDate>Sun, 03 Jan 2010 23:12:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Server Redirects &#8211; Using The Correct Status Code</title>
		<link>http://newwebmasters.net/reference/redirect-codes/</link>
		<comments>http://newwebmasters.net/reference/redirect-codes/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 19:22:01 +0000</pubDate>
		<dc:creator>corbyboy</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[redirect]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://newwebmasters.net/?p=588</guid>
		<description><![CDATA[Following on from our articles about server errors and browser errors, this article discusses the various HTTP codes for server redirects. Learn which is the appropriate one to use.]]></description>
			<content:encoded><![CDATA[<p>Following on from our previous articles about <a href="http://newwebmasters.net/reference/http-5xx-errors/">server error codes</a> and <a href="http://newwebmasters.net/reference/http-4xx-errors/">browser error codes</a>, this articles looks at the redirect status codes. You can read details about all of the HTTP status codes on the <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">W3.org website</a>.</p>
<p>Whereas the 4xx and 5xx status codes were errors, a server initiates a redirect with a 3xx status code.</p>
<h2>300 &#8211; Multiple Choices</h2>
<p>This type of redirect is employed when a page or image is available in more than one format.</p>
<p>For example, pages may be translated to multiple languages. On most sites that use multiple languages, you are asked to pick which language you prefer. However, it is possible to automatically redirect users based on the language their browser is set to prefer. Say for example, your browser sent the following in every request header:</p>
<p><code>Accept-Language: de</code></p>
<p>The web server can be set up to automatically redirect this user to the German section of the website (de is the code for German).</p>
<p>You can read a lot more about content negotiation and how to implement it in Apache at <a href="http://httpd.apache.org/docs/1.3/content-negotiation.html">the Apache website</a>.</p>
<h2>301 &#8211; Moved Permanently</h2>
<p>This is the classic, most popular server redirect is use today.</p>
<p>It is used when a page has been moved <strong>permanently</strong>. For example if you change the URL of this page:<br />
<code>http://newwebmasters.net/article/servercodes.htm</code></p>
<p>To this:</p>
<p><code>http://newwebmasters.net/article/server-codes</code></p>
<p>Any request for the original URL can be redirected to the new URL with a 301 status code.</p>
<p>This type of redirect is commonly used in the search engine optimisation field. It prevents what is known as &#8220;canonical content&#8221; by redirecting multiple similar URLs to a single chosen URL.</p>
<p>For example the following URLs are all slightly different, but return the same content:</p>
<p><code>http://newwebmasters.net/</p>
<p>http://www.newwebmasters.net/</p>
<p>http://www.newwebmasters.net/index.php</p>
<p>http://newwebmasters.net/index.php</code></p>
<p>It is common practice to nominate one of those URLs are redirect the others to it with a 301 redirect.</p>
<p>This type of redirect will send the user to the specified page and give the instruction to use the new URL in the future. According to the HTTP specification, a user should not be automatically redirected via a 301 redirect if the request method is POST.</p>
<p>You can read more about how to implement the 301 redirect at <a href="http://www.shimonsandler.com/301-redirect-explained/">Shimon Sandler&#8217;s website</a>.</p>
<h2>302 &#8211; Found</h2>
<p>302 is very similar to a 301 redirect, except that it temporary whereas 301 is permamnent.</p>
<p>The user should be forwarded to the new URL, but should continue to request the old one in the future, as the redirection is just temporary. Again, like the 301 redirect, a user should not be automatically redirected via a 301 redirect if the request method is POST.</p>
<h2>303 &#8211; See Other</h2>
<p>This type of redirect is designed for the POST request method. As mentioned in the 301 and 302 sections, a user should not be automatically redirected if the request method is POST.</p>
<p>The user can be automatically redirected to that page, but the form details submitted via POST should not be sent again.</p>
<p>In practice, this can be used to redirect users to a thank you page when a form has been submitted. This means that if the page is refreshed, the data is not submitted again. You can read a great tutorial on how to accomplish this in PHP at <a href="http://www.electrictoolbox.com/php-303-redirect/">The Electric Toolbox</a>.</p>
<h2>304 &#8211; Not Modified</h2>
<p>This resposnse code is returned when checking if a cached component has been updated.</p>
<p>Your browser will cache scripts and images from websites you visit. When you visit the site again, the browser will try to save download time by using the components it always has cached. The last modification date of each component is sent to the web server. If the current version is newer, the browser discards the cached version and downloads the new version. If the cached version is the same as the version on the website, the server returns the 304 response code. This tells the web browser that downloading the resource again is unncessary.</p>
<p>This is a technique that is favourable to both webmasters and web surfers. It means that the same page components are not downloaded over and over again. This means faster loading websites for the surfer and lower bandwidth usage for the webmaster.</p>
<h2>305 &#8211; Use Proxy</h2>
<p>The file or page requested must be accessed via a specific proxy. The redirect sends the user to the appropriate proxy where the request can be repeated.</p>
<p>The W3C specification states that only &#8220;origin&#8221; servers should use this redirect. An origin server is the one that the original copy of a file resides on. This exludes cache servers.</p>
<h2>306 &#8211; Unused</h2>
<p>This status code was used in a previous HTTP version and is no longer used.</p>
<h2>307 &#8211; Temporary Redirect</h2>
<p>The 307 redirect is the successor to the 302. It is only understood in HTTP 1.1 so is not commonly used.</p>
<p>A lot of web crawlers like Google advertise themselves as 1.0 compatible, whereas they can actually understand HTTP 1.1. As a result, it cannot be relied on that they understand 307 redirects.</p>
<p>The main use of a 307 redirect comes when using the POST request method. When a 302 redirect is received on a POST request, the request is redirected via the GET method. As you can imagine, this can totally destroy a request. When a 307 redirect is received on a POST request, it is redirected as a POST request and all the fields are left intact.</p>
<p>Whether you user the 307 redirect depends if you use the POST request method and whether you want to exclude user agents that can&#8217;t support HTTP 1.1. It&#8217;s a tricky tradeoff. You can read a detailed article comparing 301, 302 and 307 redirects <a href="http://sebastians-pamphlets.com/the-anatomy-of-http-redirects-301-302-307">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://newwebmasters.net/reference/redirect-codes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What Do Those Server Errors REALLY Mean &#8211; 5xx Errors Examined</title>
		<link>http://newwebmasters.net/reference/http-5xx-errors/</link>
		<comments>http://newwebmasters.net/reference/http-5xx-errors/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 13:21:39 +0000</pubDate>
		<dc:creator>corbyboy</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://newwebmasters.net/?p=434</guid>
		<description><![CDATA[This article will look at all the 5xx error codes that can be returned by a web server. These errors are generated when something happens on the server side that prevents a request being completed.]]></description>
			<content:encoded><![CDATA[<p>Every request to a web server is returned with a HTTP status code. Mode of the time that status code is 200 &#8211; everything is OK. This article will look at all the 5xx error codes that can be returned by a web server. These errors are generated when something happens on the server side that prevents a request being completed. We <a href="http://newwebmasters.net/reference/http-4xx-errors/">discussed HTTP 4xx errors in a previous article</a>.</p>
<p>There are other status codes that can be returned but we are only concerned with errors. The <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">W3.org protocol website</a> has a full list.</p>
<p>We will use simple terminology as often as possible to explain the errors. In the explanations when we refer to &#8220;web browser&#8221; we are technically referring the what the specification calls the &#8220;client.&#8221; We will also use the term &#8220;page&#8221; when we really should use &#8220;resource.&#8221;</p>
<h3>500 Internal Server Error</h3>
<p>This is the default error returned by your web server when an unexpected condition prevents it from returning the page.</p>
<p>It is often a scripting error caused by a CGI script or could be a syntax error in a .htaccess file.</p>
<p>The server will usually log a more specific error to the server&#8217;s log when a 500 error occurs. To resolve it you should roll back any changes you have recently made to any scripts that relate to the requested page.</p>
<h3>501 Not Implemented</h3>
<p>There are an array of methods that a web server can support. The most common are GET and POST but there are others too. If a web browser attempts to connect with a method that the server does not support then a 501 error will be returned</p>
<p>It is a very rare error as just about every web server will support all the most common request methods.</p>
<h3>502 Bad Gateway</h3>
<p>A request to a web server may be routed through an intermediate gateway or proxy before returning the requested page. If the proxy is unable to exchange information with the destination server it will return this error. It is not caused by either of the servers being down, but rather that one of them is sending corrupted data to the other or they cannot agree on the protocol to use.</p>
<p>This error will only be returned upon a significant corruption of one of the machines in the pathway to the destination server.</p>
<h3>503 Service Unavailable</h3>
<p>This indicates that the server is temporarily unavailable and is usually due to an overloaded server.</p>
<p>A lot of servers choose to simply refuse the connection if they are overloaded rather than returning a 503 error.</p>
<h3>504 Gateway Timeout</h3>
<p>This error is not necessarily returned by the destination web server, but by an intermediate system acting as a gateway. The gateway has not received a response from the destination server so has returned an error. Compare this with the 502 error that was returned when the response between the gateway and the server was corrupt.</p>
<h3>505 HTTP Version Not Supported</h3>
<p>This error message is returned when the web server is only able to support an older HTTP version than the browser is using.</p>
<p>Over the history of the world wide web there have been HTTP versions 0.9, 1.0, 1.1 and 1.2. 1.1 is the current version and the vast majority of web servers use versions 1.0 and 1.1. This means that 505 errors are very rare.</p>
]]></content:encoded>
			<wfw:commentRss>http://newwebmasters.net/reference/http-5xx-errors/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What Do Those HTTP Errors REALLY Mean &#8211; 4xx Errors Examined</title>
		<link>http://newwebmasters.net/reference/http-4xx-errors/</link>
		<comments>http://newwebmasters.net/reference/http-4xx-errors/#comments</comments>
		<pubDate>Thu, 04 Dec 2008 13:16:56 +0000</pubDate>
		<dc:creator>corbyboy</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://newwebmasters.net/?p=405</guid>
		<description><![CDATA[There are, however, quite a variety of error codes that can be returned, besides the famous 404 error. This article will look at all the 4xx error codes that can be returned by a web server.]]></description>
			<content:encoded><![CDATA[<p>Every request to a web server is returned with a HTTP status code. Mode of the time that status code is 200 &#8211; everything is OK. There are, however, quite a variety of error codes that can be returned, besides the famous 404 error. This article will look at all the 4xx error codes that can be returned by a web server. There are other status codes that can be returned but we are only concerned with errors. The <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html">W3.org protocol website</a> has a full list. You can also <a href="http://newwebmasters.net/reference/http-5xx-errors/">learn all about server 5xx errors in our related article</a>.</p>
<p>We will use simple terminology as often as possible to explain the errors. In the explanations when we refer to &#8220;web browser&#8221; we are technically referring the what the specification calls the &#8220;client.&#8221; We will also use the term &#8220;page&#8221; when we really should use &#8220;resource.&#8221;</p>
<h3>400 Bad Request</h3>
<p>The web server thinks there was an error in the syntax that the browser used to request access to the page. The request did not meet the appropriate HTTP specification. This is caused by a software error in either the web browser or the web server itself.</p>
<h3>401 Unauthorized</h3>
<div class="captionleft">
<img src="http://newwebmasters.net/wp-content/uploads/2008/11/authenticate.gif" alt="Authentication in Internet Explorer" title="Authentication in Internet Explorer" width="328" height="349" />
<p>Authentication in Internet Explorer</p>
</div>
<p>To access this page, your web browser must supply access credentials (usually name and password). If you get this error after supplying a username and password, then the server has rejected those details.</p>
<h3>402 Payment Required</h3>
<p>This error message isn&#8217;t actually used and the W3 describe it as &#8220;reserved for future use.&#8221;</p>
<h3>403 Forbidden</h3>
<div class="captionleft"><img src="http://newwebmasters.net/wp-content/uploads/2008/11/403error.gif" alt="The default Apache 403 error" title="The default Apache 403 error" width="441" height="147" />
<p>The default Apache 403 error</p>
</div>
<p>This message is given when a webmaster wishes to prevent a user from accessing a certain area of a website. You will most commonly encounter this error when trying to browse a directory index. It is different from the 401 error as nobody is able to access this page; it is not a username/password error. Note, however, that the web server does not have to provide a reason for refusing the request.</p>
<p>Some people think this error message is a little messy so prefer to return a 404 error when a user tries to browse a directory index.</p>
<h3>404 Not Found</h3>
<p>The most common error message found on the Internet. You have attempted to access a page which does not exist. It may or may not have existed in the past, but you cannot tell from this error message.</p>
<p>As this error message is so common, most web browser return their own version of the 404 error page if they detect that the default one is being returned.</p>
<h3>405 Method Not Allowed</h3>
<p>The HTTP specification describes what are known as &#8220;methods&#8221; for accessing a page. The most common ones are GET and POST, but there are a few others as well. A web server can be configured to allow or reject any of these methods. When you attempt to use an unacceptable method to access a page, this is the error you will encounter</p>
<p>Please note that &#8220;method&#8221; refers to the HTTP request method only. It has nothing to do with the web browser you are using, or anything related to that.</p>
<h3>406 Not Acceptable</h3>
<p>When a web browser makes a request for a page, it is able to tell the web server the characteristics of the data it can accept back.</p>
<p>For example, the web browser can tell the server it will only accept certain character encodings or certain languages. If the server is unable to comply with the request, then it will return a 406 error.</p>
<p>In all probability you will never encounter this error as web browsers tend to accept data in any format from a web server.</p>
<h3>407 Proxy Authentication Required</h3>
<p>This error is returned when the request for a page is required to be routed through a proxy server which requires some type of authentication.</p>
<p>Web servers must be specifically configured to require proxy authentication, so it unlikely you will see this error without knowing about it first.</p>
<h3>408 Request Timeout</h3>
<p>As the name suggests, a 408 error means that the web server is not willing to wait any longer to send the requested page to the browser. If this occurs, take a look at the server load, especially if the error is returned quite frequently. These error may be returned in clusters at a certain time of the day when your site traffic is quite heavy. The only way to resolve this error is to make upgrades to your web server, but only if it becomes a problem.</p>
<h3>409 Conflict</h3>
<p>This error is quite rare and it means that the connection that is being established conflicts with another rule already defined by the server.</p>
<p>The HTTP specification states that the server should return a reason for the conflict. The user should then be able to resolve the problem and request that page again.</p>
<p>These types of errors are very rare and should never happen in a web browser.</p>
<h3>410 Gone</h3>
<p>Similar to the 404 error, the 410 error indicates that a page is not present on the web server. It differs to the 404 error in that the page used to exist, but it doesn&#8217;t any longer. If the page has been moved to a different location you should redirect it automatically.</p>
<p>The 410 error is <em>only</em> for pages that did exist at some point in the past but have been permanently removed.</p>
<h3>411 Length Required</h3>
<p>A request to a web server can send a header called &#8220;Content-length&#8221; which defines how long (in bytes) the content of the request is. If the server requires this header but the web browser does not send it, then this error will be returned</p>
<p>This situation usually only occurs when data is being placed on a web server, rather than being retrieved from it. For this reason a 411 error is very rarely ever encountered when using a web browser.</p>
<h3>412 Precondition Failed</h3>
<p>The web browser set a &#8220;condition&#8221; for access that the server failed to meet, so the connection was refused.</p>
<h3>413 Request Entity Too Large</h3>
<p>This error means that the connection to the web server consisted of too many bytes, ie. it was too large for the server to process.</p>
<p>A web server can be configured to accept different size requests under different circumstances, but very few requests will ever be too large for the server to process them. It would typically occur when you try to upload a very large file with the PUT method. The size of a request from a web browser will only ever be relatively small, so this error should seldom be seen.</p>
<h3>414 Request-URI Too Long</h3>
<p>Web servers typically allow URL lengths up to a few thousand characters long. If this limit is ever exceeded, a 414 error will be returned. The size limit can be configured for each web server.</p>
<p>As with most of these errors, this particular one will not be returned very often as most URLs are relatively short. You are most likely to encounter it if a hacker is trying to find a security vulnerability on your web server.</p>
<h3>415 Unsupported Media Type</h3>
<p>This error indicates that the media type that was requested by the web browser was different to that returned by the server. Again, it will very rarely happen with a web browser as most will attempt to process any type of media returned by the server.</p>
<p>If the browser is specifically requesting a particular format of file and the server believes that the format is different to that specified, this error should be returned.</p>
<h3>416 Requested Range Not Satisfiable</h3>
<p>When a browser requests a file from a web server it is able to specify a file size (known as content-length and measured in bytes). The browser is also able to request an &#8220;offset&#8221; of bytes (set by the &#8220;range&#8221; header). If the range of bytes requested is not compatible with the size of the file, then the 416 error should be returned.</p>
<p>For example, if a file is 10,000 bytes long and the web browser requests bytes 5,000 to 12,000 the server will be unable to process this request and a 416 error will be returned.</p>
<h3>417 Expectation Failed</h3>
<p>A web browser is able to send a &#8220;expect&#8221; header which states certain conditions that the web server must meet. If the server cannot meet this condition, it should return the 417 error.</p>
<p>So there are all the 4xx errors that your web server can return as defined in the HTTP 1.1 specification.</p>
]]></content:encoded>
			<wfw:commentRss>http://newwebmasters.net/reference/http-4xx-errors/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>25 Essential Webmasters Bookmarks</title>
		<link>http://newwebmasters.net/reference/new-webmaster-bookmarks/</link>
		<comments>http://newwebmasters.net/reference/new-webmaster-bookmarks/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 13:20:48 +0000</pubDate>
		<dc:creator>corbyboy</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[websites]]></category>

		<guid isPermaLink="false">http://newwebmasters.net/?p=382</guid>
		<description><![CDATA[These 25 websites are my own personal list of recommended bookmarks. They are the websites that I find very valuable and I refer to them all the time. You should find them very useful.]]></description>
			<content:encoded><![CDATA[<p>As a new webmaster it is often useful to have a comprehensive list of sites that will be helpful for reference. The following 25 websites are my own personal list of recommended bookmarks. They are the websites that I find very valuable and I refer to them all the time. </p>
<p>They are divided into categories for convenience.</p>
<h2>Webmaster Tools</h2>
<ul>
<li><a href="http://www.google.com/webmasters/">Google Webmaster Central</a></li>
<li><a href="http://webmaster.live.com">MSN/Live Webmaster Central</a></li>
<li><a href="http://siteexplorer.search.yahoo.com">Yahoo Site Explorer</a></li>
<li><a href="http://validator.w3.org">W3&#8217;s HTML Validator</a></li>
<li><a href="http://jigsaw.w3.org/css-validator/">W3&#8217;s CSS Validator</a></li>
<li><a href="http://tidy.sourceforge.net/">HTML Tidy</a></li>
<li><a href="https://adwords.google.com/select/KeywordToolExternal">Google Adwords Keyword Tool</a></li>
<li><a href="http://www.wellstyled.com/tools/colorscheme2/index-en.html">Well Styled Colour Scheme Chooser</a> &#8211; a great resource for choosing complementary colour schemes</li>
</ul>
<h2>Search Engine Optimisation</h2>
<ul>
<li><a href="http://www.websitepublisher.net/seo-guide/">Website Publisher&#8217;s SEO Guide</a> &#8211; a great digestable introduction to the world of optimising your website.</li>
<li><a href="http://googlewebmastercentral.blogspot.com/2008/11/googles-seo-starter-guide.html">Google&#8217;s SEO Starter Guide</a> &#8211; get the latest up-to-date information direct from the biggest search engine themselves</li>
<li><a href="http://www.seomoz.org/article/beginners-guide-to-search-engine-optimization">SEOMoz Beginner&#8217;s Guide to Search Engine Optimization</a></li>
<li><a href="http://www.seomoz.org/article/search-ranking-factors">SEOMoz Search Engine Ranking Factors</a></li>
<li><a href="http://seobook.com">SEO Book</a> &#8211; the author of this website quite literally wrote the book on SEO. His blog is updated daily with excellent tips and information</li>
<li><a href="http://dmoz.org">DMOZ</a> &#8211; the only free directory that is worth your effort to get listed in</li>
</ul>
<h2>Reference and Article Sites</h2>
<ul>
<li><a href="http://reference.sitepoint.com/">Sitepoint CSS and HTML Reference</li>
<li><a href="http://www.sitepoint.com/forums/">Sitepoint Forums</a></li>
<li><a href="http://www.addedbytes.com/cheat-sheets/">Added Bytes cheat sheets</a> &#8211; quick reference guides on all the major web technologies and techniques</li>
<li><a href="http://www.php.net/docs.php">PHP Documentation</a> &#8211; since I code with PHP, I find myself consulting the documentation nearly every day. The comments on each page are very useful too.</li>
<li><a href="http://www.useit.com/alertbox/">Jakob Nielsen&#8217;s Alertbox</a> &#8211; this invaluable website will tell you everything you need to know about website usability. It also has an interesting weekly newsletter.</li>
</ul>
<h2>Code Samples and Scripts</h2>
<ul>
<li><a href="http://hotscripts.com">Hot Scripts</a></li>
<li><a href="http://jquery.com">Jquery</a> &#8211; this is my preferred javascript framework</li>
<li><a href="http://www.htaccesseditor.com/en.shtml">.htaccess Editor</a> &#8211; an advanced online tool for creating .htaccess files</li>
<li><a href="http://snipplr.com/">Snipplr Code Repository</a> &#8211; need a quick script? Chances are there is one available here.</li>
</ul>
<h2>Stock Photos (royalty free)</h2>
<ul>
<li><a href="http://sxc.hu">Stock.XCHNG</a></li>
<li><a href="http://istockphoto.com">iStockphoto</a></li>
</ul>
<p>What sites do you use on a daily basis that you think would be useful for other people to know about?</p>
]]></content:encoded>
			<wfw:commentRss>http://newwebmasters.net/reference/new-webmaster-bookmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
