【HTTP】 各协议版本介绍(面试:各版本的区别!)

HTTP1.0

特点

优点

  1. 简单
    HTTP基本的报文格式就是 header + body。
  2. 灵活和易于扩展
    HTTP协议里的各类请求方法`状态码、头字段等都是可以自定义扩展的。
    同时 HTTP 由于是工作在应用层( OSI 第七层),则它下层可以随意变化。
  3. 应用广泛和跨平台

缺点

  1. 无状态

服务器不会去记忆 HTTP 的状态,所以不需要额外的资源来记录状态信息

但是会导致它在完成有关联性的操作时会非常麻烦。

例如登录->添加购物车->下单->结算->支付,这系列操作都要知道用户的身份才行。
但服务器不知道这些请求是有关联的,每次都要问一遍身份信息。

无状态的问题解决方法有cookie/session/token 具体见下方讲解

  1. 不安全
  • 明文传输

内容可能会被窃听。比如,账号信息容易泄漏,那你号没了。

  • 不验证通信方的身份

可能会遭遇伪装。比如,访问假的淘宝、拼多多,那你钱没了。

  • 无法证明报文的完整性

有可能已经遭到篡改。比如,网页上植入垃圾广告,视觉污染,眼没了。

安全问题HTTPS得到了解决。

  1. 无连接

浏览器的每次请求都要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接。

每个TCP只能发送一个请求。发送数据完毕,连接就关闭。如果还要请求其他资源,就需要再建立一个连接。

TCP三次握手是一个很耗费时间的过程,所以HTTP/1.0性能比较差。

请求报文

  • 请求行由请求方法、URL 和 HTTP协议版本三个字段组成。中间由空格隔开。例如:GET /index.html HTTP/1.1。

HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。

常见的:

  1. GET
  • 当客户端要从服务器读取文档时,点击网页上的链接或者通过在浏览器的地址栏输入网址来浏览网页,都是GET方式。
  • GET方法要求服务器将URL定位的资源放在响应报文的数据部分,会送给客户端。
  • 使用GET方法时,请求参数和对应的值附加在URL后面,以一个(?)代表URL的结尾与请求参数的开始,传递参数长度受限制。例如:/index.jsp?id=100&op=bind.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值