200 code means sometimes is ok and sometimes in error in nature. Due to various reasons 200 error code showing for. Such as Runtime error 200 is the standard error message by Borland's Pascal compilers. On the other hand when any page or image is found or loaded in browser properly then 200 code statuses are showing ok. More details : http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
301 code found when any web page move permanently in a new location. Too many 301 errors create bad impact on your site, according to Google webmaster tools. This is the preferred method of redirecting for most pages or websites. If you are going to move an entire site to a new location you may want to test moving a file or folder first, and then if that ranks well you may want to proceed with moving the entire site. Depending on your site authority and crawl frequency it may take anywhere from a few days to a month or so for the 301 redirect to be picked up.
W3C HTTP 1.1 Status Code Definitions
On Apache servers you can redirect URLs in a .htaccess file or via in the headers of some dynamic pages. Most web hosts run on Apache.
On IIS servers you can redirect using ASP or ASP.net, or from within the internet manager.
Here are some common ways in which you might see the HTTP 404 error displayed:
Some CMS send 404 status codes when documents do exists. Actually when some page is permanently deleted or moved but url is still on any back link, after click this back link the url is not found then this 404 error code is showing. That also create crawl error in Google webmaster tools. For your seo purpose it also needs to fix various way
1. Thru a Coding of .htaccess file ( Which is a text base file in the server)
ErrorDocument 403 /403.shtml
ErrorDocument 404 /404.shtml
ErrorDocument 500 /500.shtml
2. In CPanel click on "Error Pages", Click on "404", Add this to the box:
<TITLE>Meta Redirect Code</TITLE>
<meta http-equiv="refresh" content="0;url=http://www.yoursite.com/">
Click "Save" at the bottom of the page.