My pedantry over over the 303 redirect having been pointed out by my colleagues, I figure ‘in for a penny, in for a pound’. Or 301 to be precise.
The use of a canonical URL for SEO purposes is well known, as search engines are notoriously precise, and will store reputation against the exact form of a URL, including trailing slashes and case sensitivities.
The recommended best practice is to use a redirect to consolidate reputation against the canonical form.
The important point about the redirect is that you should use a 301 status code to indicate that the redirect is permanent. This is used by the search engine to combine reputation. If you use a 302 status code the user will be redirected, which is good, but the search engine will interpret this as a temporary redirect and will keep the incorrect URL in its index as a valid content URL.
This illustration from the Google SEO Report highlights the problem:
As ever, the best reference for more information is Google, and I would recommend everyone involved in SEO read Google’s own SEO Report Card – it’s an easy read, and well worth the effort.