It seems all four of these branches of design relate to each other at one point or another, and one can easily be confused for another by novices or outsiders looking in. Job postings online frequently interchange the terms for job openings, yet explain similar descriptions of job duties.
In reality, there's no difference between jobs with those different titles (except that "web designer" is limited to projects on, well, the web).
In theory, the terms refer to different aspects of the design discipline. Following are three different explanations I've read:
User experience is the broadest term and can even be applied to physical design, whereas the others seldom are. In their book About Face 3: The Essentials of Interaction Design, Cooper, Reimann, and Cronin say that they have chosen to use the term "interaction design" because they're writing about software products, while some physical products offer a less interactive experience (page xxx of the Introduction).
Jesse James Garret draws a line between interaction design and interface design as the degree to which the design has been implemented. Interaction design deals with the structure of the site, while interface design deals with the skeleton (creating concrete representations of the structure created by interaction design). Garrett has a famous diagram that shows how some of the roles are related.
If the diagram interests you, Garrett has an entire book explaining it.
Yet another explanation of the theoretical division between these fields can be found in A Project Guide to UX Design (pages 30-34). The authors again treat user experience as the over-arching field, and to them interaction design is one of it's three main pillars. (The others are user research and information architecture, but you didn't ask about those terms.) According to the authors:
When you become UX designer on a project, you often end up having to play several roles....An interaction designer is responsible for defining the behavior of a site.
EDIT: Increasingly I'm hearing "web design" used as a synonym of "graphic design for the web," meaning the hi-fidelity styles and branding applied after the UX process is largely complete.
There is the philosophical notion and then there is how the roles differ in the job market.
Web Design concerns the look in feel of the website as far as Marketing and Branding and browser standards.
Interaction Design concerns the user behaviors and actions during a user flow of an interface (ie: How the widget works, how it slides up or overlays, drops down, and very specific tasks that lead to user objectives and needs).
User Experience Design concerns the overall discipline of studying users and how they use interfaces and even tangible products, but with an emphasis on user research and user centric design in contrast to just Marketing Design. A UX designer will drive the project from Research, Information Architecture, Interaction Design, Visual Design, and Testing, giving broad direction to the team.
User Interface Design concerns with the visual design of specific widgets icons buttons, creating style guides, and pixel perfect designs with a more user centric view than just general web design. It's also not just limited to the web. UI design is more on going as many widgets and add-ons are constantly created on many tech sites.
Its a nice question! I agree there is confusion among many people and drawing a line between all the branches is difficult. Reason being all the branches mentioned overlaps at one point or other.
The answer actually lies in the names but due to their overlapping nature people do get confused. Even the companies while writing job descriptions.
Understand, these branches have evolved from earlier days when web design was new. Earlier it was only web design. And moment you mention it, people with graphic design and HTML profiles will sort in your mind.
As time passed, and the world realized about the usability of the websites. And from this point we started hearing about the new specialized roles mentioned above in your question.
UX designer - Overlaps everywhere in all the domains, as UX can be for virtually anything thats being designed. And whatever you design has users associated with it. Here comes UX who decides, the approach, what to design, how to design, consistency, branding and all the gamuts involved.
Interaction design is very specific and specialized and very commonly confused term. An interaction designer may not be working only for online applications or websites but for ANY product that requires USER INTERACTION. It can be car dashboard, calculator etc.