Asynchronous:
A request/response interaction is said to be asynchronous when the request and response are chronologically decoupled. In other words, the client agent does not have to "wait" for the response once it issues the initial request. The exact meaning of "not having to wait" depends on the characteristics of the client agent (including the transfer protocol it uses). Examples include receiving the response on a different thread, on a different socket, on a different end-point, by polling the server, etc.
Synchronous:
The opposite of asynchronous.