Hi, this difference is meaningful what you eat drink and do in the place
- BAR is usually fast taking a coffee/ breakfast however, what you can do there largely depends on the place (get 5 minns coffee and write your book 4 hours...), also consider that actual trend is to transform setting so that you can read books and listen to the music. Some prefix also indicate the place is specialized - Ice bar, Lounge bar, Molecular bar (very small) fine?
- Now Café is like a Bar, but sort of classy place, intellectual artists find there and talk... it's usually set in the city centre/ crowded square; in Café's you can usually get high quality pastry (bar quality is lower, so this might be the most important difference?)
- Restaurant literally, just place for eating: dating, groups
- lower quality Restaurants, for workers or cheap eating are called Taverna and Trattoria. * Taverna sounds old style, places where people used to get drunk, hire a woman and kill each other..
- Birreria, Pub and Taverna are synonyms for night pubs also with live music.
Hope it helps
-------------------- EDIT
Important: names today are used in suggestive way, "Good old times" is a business, you know.
Café - French name for coffee bar - I suppose it used to be any bar, now it means sofisticated place / high prices
Taverna used to mean low level, now might mean that you eat traditional in a place not strictly formal
The exterior aspect / location, would clarify what kind of place really is. Bye