What's the difference between these two phrases?
To add to Martha's answer:
- The simple past ("Did you see this") refers about an event in the past
- The present perfect ("Have you seen this") suggests a link with the present time.
If "this" is something you could have seen but cannot anymore now (you should have been there seeing "this" at the time, but it wouldn't have the same impact if you see it again now), then "Did you see" is more appropriate.
It is about an event that happened once in the past.
If "this" is something you can check it out whenever you want, "Have you seen" is more to the point, because it suggests that, if you haven't seen it in the past, you could consider seeing it now or in the near future.
It is about an event which can happen again or is still relevant in the present.
The difference is pretty subtle, but the "did you..." version implies more of an event, i.e. something that needs to be seen just once, perhaps because it's temporary.
Have you seen [insert movie title]?
Did you see last night's [insert TV show name] episode?
Edit: note that there's nothing wrong with "Have you seen last night's episode?", or with "Did you see the movie?", but there is a (slight) difference in meaning.
There is a difference between UK and US usage in this case (though I believe that the difference has been diminishing over the past few decades).
In my (UK) idiolect,
"Did you see this?"
is very unlikely, because "did you see" implies that the opportunity for seeing it has passed, which is inconsistent with "this". Without "this" (eg "Did you see what he did?") the implication is that he has stopped doing it. "Did you see this yet?" is impossible in my idiolect for the same reason.
"Have you seen this?"
implies that you still could see it even if you haven't yet. Thus Martha's "Have you seen last night's episode?" to me implies that the episode is still available in some way and you could still see it. I would not say "Have you seen last night's performance of the play?"
As I say, I believe that this distinction is not there (or at least not as strong) in US English.
Have u seen my glasses?
Did you see my glasses?
"Have you seen" implies that the person saw your glasses sometime in the recent past right up to the present moment. "Did you see" is asking if the person has ever seen your glasses, at any time in the past. It makes a big difference if you're looking for a lost pair of glasses. It wouldn't help much if the person had seen them four years ago. You want to know where they are now!
Did you see James? -- No, I did not have any dates with him.
Have you seen James? --- No, I have no idea where he is.