http有哪些特性?

HTTP最凸出的优点有以下几点:

  1. 简单
  2. 灵活
  3. 易于扩展
  4. 应用广泛和跨平台

简单

HTTP的报文格式包含请求行,请求头,请求体 ,请求行就是我们常见的请求地址,请求头是键值对的形式对http进行配置,而且可以自定义键值。整体简单文本的形式,易于理解,降低了学习和使用的门槛。

灵活和易于扩展

HTTP中的请求行的格式为ip,端口,地址,参数,都可以灵活按照自己的定义进行灵活配置,请求头中的键值对除了http定义的配置以外,还可以自定义配置实现自己的逻辑,http定义的状态码、请求头字段等都没有固定死,是允许开发人员自定义以及灵活配置的。

应用广泛和跨平台

http的应用非常广泛,无论是我们在网页浏览各种信息,还是在各种app浏览各种信息,无论是看新闻,看论坛,还是玩游戏都离不开http。同时http具有天然的跨平台性。

HTTP最凸出的缺点有以下几点:

HTTP协议有两把双刃剑:无状态、明文传输;同时还有一个致命的缺点:不安全。

  1. 无状态

无状态的好处是服务器不用去记忆HTTP的状态,所以不需要额外的资源来记录状态信息,这就减轻了服务器的负担,能够把更多的CPU和内存资源来对外提供服务。

无状态的坏处,既然服务器没有记忆能力,它在完成有关联性的操作时会比较常麻烦,比如登录验证等与权限认证相关的操作,拿电商系统来说,加购,下单,支付这些操作都需要验证用户信息,但是无状态的http中服务器是无法知道当前的请求是谁的。

对于这个问题,其实也有很多种解决方案,其中比较简单的方式就是Cookie技术。Cookie通过在请求和响应报文中写Cookie信息来控制客户端的状态。相当于,在客户端第一次请求后,服务器会下发一个装有客户信息的贴纸,后续客户端请求服务器的时候带上这个贴纸,服务器就能认得了。

  1. 明文传输

明文传输的好处是在传输过程中的信息是方便阅读的,通过浏览器的F12控制台或Wireshark抓包都可以直接肉眼查看,对于开发过程中的调试有一定的便利性。

但是这带来的代价就是HTTP传输中的所有信息都暴露在了光天化之下,信息的内容都毫无隐私可言,很容易就能被窃取,如果内容中有你的账号密码信息,那你号就没了。

  1. 不安全

不安全主要表现在:

  • 使用明文(不加密),内容可能会被窃听。造成重要信息泄露。

  • 无状态下不验证通信人的身份,有可能遭遇伪装。使你访问的网站其实并不是你要访问的网站,而是一伪装的网站。

  • 报文的完整性如何保证,如果不能保证就有可能被篡改。比如恶意植入广告。

以上不安全点是http的安全隐患,使用http的时候要特别注意,http实际上采用某些方式解决了上面的问题,比如https,后续会重点说明。


原文始发于微信公众号(码农本农):http有哪些特性?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/154770.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!