通过telent、php深入了解http协议
2014-11-02 16:15
239 查看
HTTP协议:简单点就是客户端怎么问,服务器怎样答。
重要性:webservice 还是rest做大型架构都离不开对http协议的认识,甚至可以简化的说webservice = http + XML;Rest = HTTP + json;各种API,也是用http+ xml/json来实现。
做小偷站,采集,ajax也都需要对http协议了解。
工作流程:
1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:请求行(请求方法【GET/POST/DELETE/PUT】,请求协议,请求路径),请求头,请求主题信息
3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接
请求方法:GET,POST,HEAD
HEAD
和GET基本一致,只是不返回内容,比如我们需要确定一个状态,只要要一个返回状态码200,就head
就行了,看区别:
put向服务器写入信息,服务器未必支持;
TRACE 是使用代理,看代理是否修改了自己http请求;
OPTINOS 返回服务器可用方法 在头信息里返回可用方法 服务器未必支持
通过命令行来解释:
get方法:
ctrl + 】 然后回车,打开比较详细信息。
通过post发送给服务器数据:
状态码:服务器返回情况
200 OK服务器成功返回网页,
301/2 永久/临时重定向
304 not modify 未修改
307 用于保持原有数据,例如用form表单进行post提交,此次进行从定向,如果不是307,而是其他,进行转跳,会造成数据丢失,此时用用307,也会发送进行post转跳
失败:
404 Not found, 访问网页不存在
500 服务器内部错误
503 服务器暂时不可用
状态文字,方便看状态码
重要性:webservice 还是rest做大型架构都离不开对http协议的认识,甚至可以简化的说webservice = http + XML;Rest = HTTP + json;各种API,也是用http+ xml/json来实现。
做小偷站,采集,ajax也都需要对http协议了解。
工作流程:
1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。
2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:请求行(请求方法【GET/POST/DELETE/PUT】,请求协议,请求路径),请求头,请求主题信息
3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接
请求方法:GET,POST,HEAD
HEAD
和GET基本一致,只是不返回内容,比如我们需要确定一个状态,只要要一个返回状态码200,就head
就行了,看区别:
put向服务器写入信息,服务器未必支持;
TRACE 是使用代理,看代理是否修改了自己http请求;
OPTINOS 返回服务器可用方法 在头信息里返回可用方法 服务器未必支持
GET /test.php HTTP/1.1 HOST : 127.0.0.1 //服务器未必支持 PUT /test.php HTTP/1.1 HOST: 127.0.0.1 content-length:5 TRACE /test.php HTTP/1.1 HOST: 127.0.0.1 content-length:5 /返回服务器可用方法 在头信息里返回可用方法 服务器未必支持 OPTINOS /test.php HTTP/1.1 HOST: 127.0.0.1 content-length:5 OPTINOS //返回服务器可用方法
通过命令行来解释:
get方法:
ctrl + 】 然后回车,打开比较详细信息。
通过post发送给服务器数据:
状态码:服务器返回情况
200 OK服务器成功返回网页,
301/2 永久/临时重定向
304 not modify 未修改
307 用于保持原有数据,例如用form表单进行post提交,此次进行从定向,如果不是307,而是其他,进行转跳,会造成数据丢失,此时用用307,也会发送进行post转跳
失败:
404 Not found, 访问网页不存在
500 服务器内部错误
503 服务器暂时不可用
状态文字,方便看状态码
相关文章推荐
- 通过telent、php深入了解http协议
- 深入了解php.ini
- sql2005通过CLR程序集调用.NET环境的dll (深入了解)
- 深入了解php之opcode(二)
- PHP面向对象学习之二:深入了解面向对象高级特性
- 通过案例深入探讨PHP中的内存管理问题
- [转]通过案例深入探讨PHP中的内存管理问题
- 通过什么途径能够深入了解JavaScript引擎是如何工作的?
- 【译文】详解Data Binding - 通过几个简单示例深入了解WinForm数据绑定特性
- 详解Data Binding - 通过几个简单示例深入了解WinForm数据绑定特性
- 深入了解php底层机制(-)
- 深入了解php底层机制
- 通过一次事故,深入了解arp欺骗
- 深入了解php之opcode(一)
- PHP的缓存你了解多少?深入探索PHP缓存原理及使用
- 通过实例来了解PHP中的persistent resource和non persistent resource
- http协议学习系列--深入了解篇
- 深入了解php底层机制
- 深入了解PHP类型戏法 (array)var 强制数组转换
- 通过什么途径能够深入了解JavaScript引擎是如何工作的?