You need to open the connection for read and write, using
<>, and probably send a few more headers, then read the reply. For example,
echo -e "GET / HTTP/1.1\r\nHost: yahoo.com\r\nContent-Length: 0\r\n\r" >&5
# get reply: HTTP/1.1 301 Moved Permanently^M
I used arbitrary file descriptor 5 just to avoid clobbering the standard 0, 1, and 2. With yahoo you don't need the content length header, but other sites might not reply until they have received more input. yahoo does require the host header, or you will get the reply
HTTP/1.1 400 Host Header Required.