简单的http协议

1.http协议的使用方式

  • 主要用户客户端(一般浏览器居多,也可以是一些工具,编程语言下的工具包,如java中的httpclient,okhttp等)与服务端间的通信
  • 请求访问资源的称为客户端
  • 响应请求,并处理返回资源的称为服务端
  • 在两台计算机进行通信过程中,必定有一台是客户端,另一条是服务端
  • 请求报文的简单示例

image

  • 响应报文的简单示例

image

2. http协议是无状态协议

  • http协议自身不对请求和响应之间的通信状态进行保存。也就是说在http这个级别,协议发送过的请求或响应都不做持久化处理。
  • 请求通过uri进行资源的定位

3. http的请求方法

  • get,获取资源,具有幂等性
  • post,传输实体主体。不具有幂等性。
  • put,用来传输文件
  • head,获得报文首部
  • delete,删除文件
  • options,询问支持的方法
  • trace,追踪路径
  • connect,要求用隧道协议连接代理

4. 1.0与1.1的请求支持状态

image

5. 持久化连接节省通信量

  • 在初始的http协议版本中,每一次http请求伴随着一次tcp请求,如果请求的数据多,就会造成通信的阻塞
  • 为了解决这个问题,在http1.1中使用了keep-alive的方法,持久化的特点就是,只要一方没有明确提出断开连接,则保持tcp连接状态。这里需要说明的是,是保持tcp连接的状态,而不是http的状态。
  • 线管化 持久化连接使得多数请求以线管化的方式进行通信。

6. 使用cookie技术保持会话状态

  • 其实就是服务端产生的一个会话标识,将标识保存在浏览器一个叫cookie的东西中。在下一次请求中,将cooike一并发送给服务器,服务器就能识别是否为同一个用户发出的请求。
  • cookie有内存限制,不宜存放较大的数据,例如chrome中就只能存放4K的数据。
  • cookie的安全也是一个很重要的问题,一般不能让浏览器脚本操作cookie,所以在cookie中有个叫httponly的属性,以确保只能服务器能使用cookie。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值