I've found these sentences:
1. We had just startedto eat when we heard someone knocking at the door.
2. Shortly after he had gone to sleep there was a knock on the door.
Now I'm confused which one is right: 'a knock on the door' or 'a knock at the door'. Is there any difference in the meaning?
"a knock on the door"
"a knock at the door"
I agree that they function the same as noun phrases, but not as verb phrases.
In my dialect, I would knock on the door to see if someone was home, but I would never knock at the door. To me, this implies that I am knocking on something other than the door itself.
This is how I read it:
This answers the question: "Where did the knocking take place?" "At the door."1. We had just started to eat when we heard someone knocking at the door.
And this is more like "on what object did the (presumed) knocker knock?" "on the door"2. Shortly after he had gone to sleep there was a knock on the door.
If I wish to be allowed in the door then I would knock on the door. To say that you would knock at the door suggests that perhaps you tried to knock on it but missed hitting it with your hand.
If I am playing the game of baseball and I want to hit the ball with the bat then I would say that I am swinging at the ball because there is a good chance that I will miss the ball when I swing.
If I am in my car on the street in front of the house I would say that I am looking at the door and not looking on the door.
The Corpus of Contemporary American English (COCA) gives 386 examples of 'knock at the door' and 600 of 'knock on the door'. I glanced over several examples of each, and could see no consistent difference.
I'm standing AT the door, knocking. I'm knocking at the door.
I may be knocking ON the door. I may be knocking on the door-frame. I may be knocking on the siding of the house next to the door. I may be knocking on the window next too the door. I may be knocking on the post supporting the porch roof. But, I am at the door - knocking.
To those inside - all they know is that someone is knocking. They may assume the knocker is knocking ON the door. But, for certain, there is someone AT the door, knocking.
In common AmE usage - these are functionally the same thing. I agree there is a nuance here that most native-speakers do not pay attention to, though.
Jesus said, "Behold, I stand AT the door and knock."
Some new translations may have this as, "I'm knocking ON the door of your heart."
Sir Paul McCartney said, "Someone's knocking AT the door."
Would the song have sold as many copies, if the lyric was, "Someone's knocking ON the door."?
Not a teacher, 53-year-old American.
and that's my opinion.
Just for the sake of fun, do we ring a bell or do we strike it in some fashion in order to make it ring? We certainly don't ring many doorbells since they're typically electric and located out of reach inside the house, but we do push the doorbell button in order to make that mechanism ring.
I would agree that from McCartney's perspective "Knocking at the door" and Ringing the bell" have a much better flow than any other option that I could consider. Your opinion is well taken and I will accept that on some level these are mere nuances with the same functionality.