从头开始创建服务器HTTP客户端w / Java

时间:2015-10-02 17:13:12

标签: java sockets http

我的作业

“这项任务的目标是实践网络编程并了解应用程序 层协议。具体来说,您将实施一个HTTP client程序来下载Web 来自互联网上各种Web服务器的对象“

我无法使用URL classURLConnection课程。所以这让它变得有点困难。

我知道创建连接的步骤是创建一个Socket,然后连接到URL并使用Buffered I / O流与服务器通信。

我一直在寻找在线示例,但都使用URLURLConnection classes

所以我的思维过程是

  1. 创建套接字 - 将其绑定到url + port 80(我发现端口80用于http请求?可能是错误的)

  2. 创建I/O stream到套接字

  3. 握手(我不确切知道它是如何运作的)

  4. 请求下载
  5. 高速缓存
  6. 我的思维过程是否正确?还有我如何实现下载,一旦得到正确的响应,就可以从服务器上说出一张图片?

1 个答案:

答案 0 :(得分:3)

这是一个关于实际在超文本传输​​协议(HTTP)中发送的内容的教程:https://www.jmarshall.com/easy/http/

  

HTTP Exchange示例

     

要检索网址

的文件
http://www.somehost.com/path/file.html
     

首先向主机www.somehost.com,端口80打开一个套接字(使用默认端口80,因为URL中没有指定)。然后,通过套接字发送类似下面的内容:

GET /path/file.html HTTP/1.0
From: someuser@jmarshall.com
User-Agent: HTTPTool/1.0
[blank line here]
     

服务器应该响应以下内容,通过相同的套接字发回:

HTTP/1.0 200 OK
Date: Fri, 31 Dec 1999 23:59:59 GMT
Content-Type: text/html
Content-Length: 1354

<html>
<body>
<h1>Happy New Millennium!</h1>
(more file contents)
  .
  .
  .
</body>
</html>
     

发送响应后,服务器关闭套接字。