HttpConnection和socket通信有什么区别,该怎么解决

HttpConnection和socket通信有什么区别
我的理解是,用httpConnection是直接请求一个url,比如http://www.microsoft.com/china
socket通信是直接请求一个端口,比如8080

但是我用httpConnection通信的话,服务器把
<html>
....
</html>
这样的html source返回给我了。

如果我只是想问服务器要一个url链接地址,是不是用socket比较好?
比如我传给服务器1,它就返回http://www.sina.com.cn
我传给服务器2,它就返回http://www.163.com

------解决方案--------------------
探讨
不好意思,再问一下,比较模糊的一个概念。
如果用socket通信。服务器端的
404 HTTP_NOT_FOUND 错误我能捕捉到吗?

是不是要捕捉404的错误只能用HTTPURLConnection进行通信
然后判断
rc=c.getResponseCode();
if (rc!=HttpConnection.HTTP_NOT_FOUND) { // http 404 error
throw new Exception();
}