Question: Before a browser can request for a webpage, A TCP connection is required to be established. What is the necessity of 3 way handshake in interacting with a server computer? why can't we simply send a web request and wait for the response?

Shouldn't the resolution of IP address be enough for this purpose?

Basically, I need to know the reason for establishing TCP connection.

thanks in advance

Answer: 
Because you need a TCP connection to send HTTP over, and TCP has a 3-way handshake.

> 
> Basically, I need to know the reason for establishing TCP connection.
> 
> 
> 

Because HTTP runs over TCP. It doesn't exist in a vacuum.
TCP provides ordering, automatic retransmission, and congestion control. I'd say these are the obvious reasons why the design adopted TCP.

In contrast, e.g. UDP is fast. There is no handshaking. But UDP packets are not ordered, also packets can get lost (no automatic retransmission), and there is no congestion control.

You can try implementing your data transferring for things like HTML in UDP. It's not easy, you still need to reinvent ordering and retransmission for reliable lossless delivery.

If you don't care about lossy or a bit out-of-order transferring then you probably don't need TCP. (e.g. real time video)

--

On the other hand, avoid TCP to get better performance is not necessarily a bad idea. Read about [QUIC](https://www.chromium.org/quic). (It also has features like loss recovery and congestion control, you should not expect it to be extremely lightweight.)