首页 > 代码库 > HTTP传送协议
HTTP传送协议
HTTP传送协议——学习笔记
- HTTP数据传输格式
基本格式为:
- 请求或应答行
- 请求或应答头部
- 空行
- 数据
- POST传送格式
- 底层数据通信:
客户端请求:
POST /response.php HTTP/1.1????---请求行
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
Referer: http://local/
………………
Connection: Keep-Alive
Pragma: no-cache
?
w=12&h=23&s=276
服务器应答:
HTTP/1.1 200 OK????---请求行
Date: Thu, 29 Jan 2015 15:08:17 GMT????---请求头部
…………
Content-Type: text/html
?
???????????276????---应答信息
?
- PHP实现方法:
表单页PHP:
<form action="response.php" method="post">
<input type="text" name="w"><br>
<input type="text" name="h"><br>
………………
<input type="text" name="s">
<input type="submit">
</form>
应答页PHP:
可以使用 $_POST["s"]; 方法可以获得上传的变量值,最好使用脚本进行校验处理
- 总结:
POST方法将数据放在了数据部分
- GET传送格式
- 底层数据通信
客户端请求:
GET /response.php?w=12&h=122&s=1464 HTTP/1.1
Accept: application/x-ms-application, image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*
………………
Connection: Keep-Alive
服务器应答:
HTTP/1.1 200 OK
Date: Thu, 29 Jan 2015 15:39:56 GMT
…………
Content-Type: text/html
?
???????????1464
- PHP实现方法:
表单页PHP:
<form action="response.php" method="get">
<input type="text" name="w"><br>
<input type="text" name="h"><br>
………………
<input type="text" name="s">
<input type="submit">
</form>
应答页PHP:
可以使用 $_GET["s"]; 方法可以获得上传的变量值,最好使用脚本进行校验处理
- 总结:
在数据传输方面GET方法将数据放在了头部
- 错误应答格式
取值 | 描述 |
1×× | 保留。 |
2×× | 成功接收,比如"200"表示处理成功。 |
3×× | 客户需进一步细化请求。 |
4×× | 客户错误,比如"404"表示访问的指定资源不存在。 |
5×× | 服务器错误。 |
?
?
?
?
?
?
?
?
用户可以在.htaccess文件中设置错误的应答页
- 总结
本文介绍了HTTP通信的基本格式,详细的协议格式定义可以参考HTTP1.1(RFC2616文档),至于端口监测可以使用fiddler2软件进行底层查看,本软件由破解绿色版,可以轻松搞定。
Fiddler可以监测本地服务器端口,方便调试,可以在hosts文件中修改127.0.0.1为:
Local 127.0.01
浏览器中直接在地址栏输入local即可,如果需要在fiddler只监测local地址,则在过滤器中设置使用过滤器,并且在只显示以下主机的编辑框中输入local即可只显示到local的数据通信信息,另外可以在RAW栏中看到底层的详细通信数据,是纯文本的,方便分析。
?
?
?
^_^Bruce Lone
2015-1-30
HTTP传送协议