设为首页 收藏本站
查看: 1412|回复: 0

[经验分享] HTTP

[复制链接]

尚未签到

发表于 2015-12-4 10:36:41 | 显示全部楼层 |阅读模式
  今天遇到几个PUT上传的点,但是都没利用起来。一怒之下,在自己本地试了一下。步骤如下:
  一、环境:
  首先,根据 配置Apache服务器支持向目录PUT文件 更新一下httpd.conf文件,重启所有服务。
  二、HTTP - PUT
  PUT的前提,是了解HTTP协议。下面给出HTTP - PUT的一个模板:



PUT /test.txt HTTP/1.1
Accept: */*
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)
Host: test.com:8080
hello world
  要注意如下几个点:
  ① PUT方法是HTTP 1.1协议中才出现的。
  ② HTTP协议对空格敏感,每行数据的结尾不能出现空格
  ③ HTTP头部和数据中间要空一行,即HTTP头部是以\r\n\r\n结尾的。
  ④ 端口号直接跟在HOST后面
  三、第一次PUT
  好了,现在可以PUT了。用Linux下的nc命令来进行连接。



nc -v www.baidu.com 80


root@bb:/etc# nc -v 192.168.163.1 8080
nc: 192.168.163.1 (192.168.163.1) 8080 [http-alt] open  
/*在得到如上输出之后,再将PUT包的内容贴到命令行中,回车*/  
PUT /test.txt HTTP/1.1
Content-Length: 11
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)
Host: 192.168.163.1:8080
hello world
/*发送的PUT包到此为止,以下为收到的数据包*/
HTTP/1.1 500 Internal Server Error
Date: Wed, 29 Apr 2015 09:15:18 GMT
Server: Apache/2.2.21 (Win64) PHP/5.3.10 DAV/2
Content-Length: 535
Connection: close
Content-Type: text/html; charset=iso-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p>
<p>Please contact the server administrator, admin@localhost and inform them of the time the error occurred,and anything you might have done that may have caused the error.</p>
<p>More information about this error may be available in the server error log.</p>
</body></html>
  好像不对啊,500是服务器内部错误啊。好吧好吧,我们去看看主机的Apache日志。
  四、再次配环境
  主机用的是WAMP,日志在/wamp/logs/apache_error.log。找到对应的那一条:
DSC0000.png
  通过浏览器搜索,又找到一篇日志。Linux(CentOS) 服务端搭建与配置,原来用HTTP - PUT还要添加一个什么锁。


所以解决方法是:在Apache配置文件中,也就是httpd.conf,增加一行,设定webDAV锁位置。再次重启所有服务。




DavLockDB  DavLock    #目录没有就创建(DavLock 为文件名,应该有的目录结构是\wamp\bin\apache\Apache2.2.21\DavLock)

五、终于成功PUT




root@bb:/etc# nc -v 192.168.163.1 8080
nc: 192.168.163.1 (192.168.163.1) 8080 [http-alt] open
PUT /test.txt HTTP/1.1
Content-Length: 11
Accept-Language: en-US
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)
Host: 192.168.163.1:8080
hello world
HTTP/1.1 201 Created
Date: Wed, 29 Apr 2015 09:25:24 GMT
Server: Apache/2.2.21 (Win64) PHP/5.3.10 DAV/2
Location: http://192.168.163.1:8080/test.txt
Content-Length: 181
Content-Type: text/html; charset=ISO-8859-1
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>201 Created</title>
</head><body>
<h1>Created</h1>
<p>Resource /test.txt has been created.</p>
</body></html>
  0。0 差不多这样,之后有更多关于PUT的经验,再分享
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-147133-1-1.html 上篇帖子: 用Python抢枪过年的火车票 下篇帖子: python找出列表重复值
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表