HTTP协议详解(二)

HTTP协议用于客户端和服务器之间的通信

两台计算机在使用HTTP协议通信的时候,在一条通信线路上必定有一端是客户端, 另一端则是服务器端【HTTP不一定非得是浏览器发出的】。

请求报文:由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成的。

å¨è¿éæå¥å¾çæè¿°

响应报文:由协议版本、状态码、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成

å¨è¿éæå¥å¾çæè¿°

HTTP协议是一种无状态的协议

HTTP协议对于发送的请求和响应不做持续化处理:协议本身不保留之前的一切请求或响应信息,这是为了更快的处理大量事务,确保协议的可伸缩性。所以才把HTTP协议设计的如此简单,但是引入cookis技术后,就可以管理状态。

告知服务器意图的HTTP方法

HTTP1.0中只有GET HEAD POST 三种方法

HTTP1.1中新定义了五种方法 PUT 、DELETE、CONNECT、OPTIONS、TRACE。

GET和POST方法的区别

  • GET提交的数据会放在URL之后,以?的方式分割URL和传输的数据。参数之间用&相连,Post方法是把数据存放在HTTP包的bady内。
  • GET的传输大小一般是2k-4k(一般根据浏览器来决定,一般相差不大),而POST的传输大小一般是由php.ini文件配置,理论上是无限大的。
  • GET请求是可以缓存的,POST请求不可以缓存。
  • GET请求页面后退时,不产生影响,POST请求页面后退时,会重新提交请求。
  • GET参数会保存在浏览器中,POST参数不会保存正在浏览器中。
  • GET对数据类型的限制是ASCII码值,而POST没有限制,也可以是二进制文件
  • GET数据在URL对所有人可见,而POST不会显示在URL中。

持久连接节省流量

在早期的HTTP1.0协议中,每进行一次HTTP请求,就要断开TCP连接一次,这样做的话每一次请求都会造成无所谓的TCP建立与断开,这样增加了通信的开销。为了解决这一问题,在HTTP1.1中,提出来持久连接,其特点是只要一端没有明确的提出断开连接,那么就一直保持TCP连接状态。

å¨è¿éæå¥å¾çæè¿°

使用Cooki来控制状态

因为HTTP协议是无状态协议,他不会对之前发送过得请求或者响应做出保存,所以无法根据之前的请求确定本次请求。

 Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态 Cookie 技术通过在请求和响应报文中写入 Cookie 信息来控制客户端的状态。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值