HTTP PUT请求的格式是什么?

时间:2014-04-27 23:01:29

标签: java sockets http get put

我目前正在开发一个简单的java程序,用于测试ping,上传速度和下载速度。这是一个类项目,因此我不是使用java的httpURLConnection包,而是使用Java套接字手动完成。我发现很容易找到GET请求的格式,put无法找到PUT的格式。 例如,这是我的GET请求的外观:

//Create GET request
outToServer.writeBytes("GET / HTTP/1.1\r\n
                       + "Host: " + server + "\r\n"
                       + "Connection: close\r\n\r\n");

其中outToServer是使用Socket的outputStream的DataOutputStream。我正在寻找一种类似的方法来执行PUT将文件上传到服务器并测量时间。 非常感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

简而言之,格式是相同的,它有“PUT”而不是“GET”,它通常用于在服务器中“添加”或“更新”实体,所以在标题之后你会得到一个空行( \r\n\r\n)然后是一个正文,其内容类型对应于标题“content-type”(例如,text / html或application / json)PUT请求的示例:

PUT /boo/foo.txt HTTP/1.1
Host: www.foo.com
Content-Type: plain/text

This is a testing content for the text file foo.txt

现在,服务器必须支持方法PUT(服务器不需要支持这种方法)