HTTP协议分析(待)

一、何为HTTP协议

协议就是在同等层之间的实体通信时,有关通信规则和约定的集合就是该层协议。

HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。

二、工作流程



三、HTTP请求信息和响应信息的格式

3.1 请求信息

1、get请求

通过本机cmd进行试验,可本机搭建wamp服务器。


telnet登陆本机,键入请求行和请求头部信息后查看结果。


请求:

1)请求行

2、请求头信息

3、请求主体信息

4、头信息结束后和主体信息之间要空一行

 

请求行又分3部分

请求方法、请求路径、所用的协议

请求方法:GET/POSTPUT DELETETRACEOPTIONS

所用的协议:目前一般是HTTP/1.1,0.9,1.0已基本不用

 

浏览器能发送HTTP协议,HTTP协议一定要浏览器来发送吗?

答:不是,HTTP既然是一种协议,那么要满足这种协议,什么工具都可以发。


2实现POST请求

<?php

//这个程序是把收到的POST数据,写入文本

//要求用telnet来请求他

/*$方法 $路径 $版本

请求行

主体内容……

据上:

POST /test02.php HTTP/1.1

Host:localhost

Content-type:application/x-www-form-urlencoded

Content-length:23  【空一行】

username=zhangsan&age=28

*/

$str = implode($_POST,"\n");

file_put_contents('./post.txt',$str);

echo "write ok";

?>

 

请求行(请求方法 路径 协议)

头信息(格式为key:value)

空行

主体信息(可选)(发送内容)

 

例:

POST /test.php HTTP/1.1

HOST:localhost

Content-type:

application/x-www-form-urlencoded

Content-length:23

 

Age=3

响应行(协议 状态码 状态文字)

响应头信息(格式为key:value)

空行

主体信息(也可能没有)

 

例:

HTTP/1.1 200 OK

Content-type: text/html

Content-length:23

 

Age=3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

请求方法有哪些

GET POST HEAD PUT TRACE DELETE OPTIONS

 

注意:这些请求方法虽然HTTP协议里规定的,但是WEB SERVER未必允许或支持这些方法

HEAD:和GET基本一致,只是不返回内容。

比如我们只是确定一个内容还正常存在,不需要返回照片的内容,这时使用HEAD比较合适。

 

TRACE:用了代理上网,比

 

如用代理访问new.163.com,看看代理有没有修改http请求。

Options:返回服务器可用的方法。

 

 

3.2状态码,状态文字:

状态吗 用来反映服务器响应情况

最常见的如200 OK , 404 NOT FOUND

状态码

定义

说明

1XX

信息

接收到请求,继续处理

2XX

成功

操作成功地收到,理解和接受

3XX

重定向

为了完成请求,必须采取进一步措施

4XX

客户端错误

请求的语法有错误或不能完全被满足

5XX

服务端错误

服务器无法完成明显有效的请求

200 服务器成功返回网页

301/302 永久/临时重定向

304  Not Modified –未修改(缓存)

307 重定向中保持原有请求数据

失败的状态码:

404 – 请求的网页不存在

503 – 服务器暂时不可用

500 -  服务器内部错误

 

304实现的方式




 

3.3重定向问题

//header(),重定向会导致请求的数据丢失。







参考:

百度百科:http://baike.baidu.com/link?url=BAkDVDUQj6KiUNNUxnpvhhBIZ_gDg_ExkftdF13eM7VEbqlesekdmY2gqqj6dmLW7cSENBV2s3uiOzZAtZX8A_

燕十八视频教程

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值