http和https的区别以及测试手法

这篇具有很好参考价值的文章主要介绍了http和https的区别以及测试手法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.什么是http和hhtps
简介

        http又称超文本传输协议,应用十分广泛,用户web浏览器与服务器之间传递消息,不过有一点是,http协议传输方式并没有加密,使用明文传输,安全性并没有那么高,容易被攻击者截取到web浏览器和服务器之间传输的消息。所以一般,银行业务,密码,支付等等不能使用http协议。http协议一般默认端口是80

        http由请求和响应组成,先抓一个包看看?

http和https的区别以及测试手法,http,https,网络协议

        至于https呢,这个呢,那就比较高级了

        https又称超文本传输安全协议,解决了http数据传输过程中的安全问题,https=http+ssl,然后依靠ssl去验证服务器的身份,并且在web浏览器和服务器之间进行加密通信。一般企业都是使用https的,为了数据安全一些。所以https的两种主要作用是:a.确保数据传输过程中的安全性。b.确让网安的真实性。https的一般默认端口是443。

        再抓一个包看看?

http和https的区别以及测试手法,http,https,网络协议

http的交互方式

        a.get:向服务器获取url指定的资源,比如我在浏览器输入一个网页地址,一般这时服务器会给我返回我刚才想得到的网址。

        b.post:向服务器提交数据,比如我现在在前端页面输入账号,密码用于登录验证,希望登录成功,这时就是post方式,将账号,密码发送到服务器。

        c.head:和get方式相似,但是head方式服务器不返回实际内容。我们可以使用head查看数据资源是否被修改。

        d.put:向指定的url存储文件。比如服务器用请求部分创建一个url的文档,如果已经存在,我们则可以把该已经存在的资源替换掉。

        e.trace:让服务器回显请求中的内容。可以用于判断是否数据传输发现问题

        f.delete:删除url指定的服务器上的内容

        g.options:用于客户端像服务端询问是否支持特定的选项

        h.:connect:用于客户端和目标地址之间建立一个tcp通道

http的响应状态码

        有一个版本问题需要注意一下下,响应中的版本号不一定要与请求中的版本号一样,但是大的版本号不能高于请求中的大的版本号。比如请求的是http1.0版本的话,服务器不能使用http2.0进行响应,但是可以使用http1.1进行响应。

        http的状态响应码以及说明:

                100~199:表示已收到请求,但未完成操作,用于通知客户端

                200~299:请求中的操作已成功完成,提一下这里,并不是200就一定没有问题,有些api把全部响应都设置成200,如果需要判断需要进一步使用接口测试进行判断

                300~399:告知客户端执行额外的操作,通常用于跳转

                400~499:客户端请求由错误

                500~599:服务端出现了问题

http的报文

         http的报文分为:请求报文和响应报文,而报文又可以分为报文头部和报文主题两个部分。

        报文头部:请求或响应的内容和属性

        报文主体:应该被发送的数据

        让我们看看前面抓的包

http和https的区别以及测试手法,http,https,网络协议

二.http的工作原理

        http协议是基于tcp/ip协议上的协议,http是在应用层的协议。

        前面提到,http是由请求和响应两个部分组成的,并且http是由客户端先发起请求,服务器返回响应。

http和https的区别以及测试手法,http,https,网络协议

        http是一个无状态的协议,web浏览器和服务器之间不需要建立长久的连接。如web发送一个请求,服务器响应一次以后,连接就自动关闭了。

http的工作过程

        1.地址解析:如果是http://xxx.com:8080/index.html

                分解一下协议名,主机名,端口,路径等部分

                协议名:http

                主机:xxx.com

                端口:8080

                路径:index.html

                这里就需要dns解析域名得到ip了

        2.封装http请求:把主机的消息,封装成一个http的请求数据包

        3.封装成tcp包,tcp三次握手

        4.客户端发送请求

        5.服务器响应

        6.断开tcp连接

http的优缺点
优点

        1.快速,简单

        2.免费,广泛使用,商业验证成功

缺点

        1.明文通信,数据可能被窃取

        2.数据不加密

        3.身份不验证

三.https的工作原理
https的工作过程

        1.客户端向服务端发送https的请求,请求携带了客户端支持的加密算法和哈希算法

        2.服务器收到了请求,选择客户端所支持的加密算法和哈希算法

        3.服务器将算法和证书发送到客户端

        4.客户端对服务器端的证书进行验证

        5.客户端将加密后的发送给服务端

        6.服务器解密得到私钥,通过密码把网页进行对称加密,发送到客户端

        7.客户端用之前生成的密钥解密,查看网页

https的优缺点
优点

        1.使用https可以确保数据发送到正确的客户机和服务器

        2.https协议是http+ssl一起使用的,可以进行加密传输,比http安全,可以防止数据在传输过程中一些安全问题,比如窃取数据,篡改数据等等。

        3.可以减少一定量的网络攻击,减少维护成本,注意只是减少一部分,并不是一定完全安全

缺点

        1.它需要花钱!!!功能越多,费用越大

        2.它需要去进行验证等等,加载时间就会变长,用户体验感可能会变差

        3.ssl的加密也是有限的,也不是十全十美的

        4.https的流量损耗变大,数据开销变大

http改成https以后怎么进行测试(功性健安)

        这几天好几次看见一个面试题,http改成https以后怎么进行测试。

        从测试的几个模块看看

功能测试

        1.http改成https的url有没有成功的改变成https

        2.是否可以正常的进入网页

        3.产品要求是否满足

接口测试

        关于cookie的操作:cookie中的secure设置以后只能使用https

        1.是否有接口文档,如果没有抓包的话需要安装证书,抓个包试一下儿

http和https的区别以及测试手法,http,https,网络协议

        2.使用postman进行接口测试的话,需要打开设置,关闭ssl认证,试一下(抓包状态码是200也不一定对,接口测试验证一下先)

http和https的区别以及测试手法,http,https,网络协议

        3.可能还会设计到接口关联,接口压测等等的问题

性能测试

        1.对网站进行压测,查看压测情况下网站的表现(别随随便便压别人网站)

        2.要对比http和https前面的响应时间的比较,确保不会影响用户

兼容性测试

        1.使用该url地址,登录不同的浏览器查看是否成功,是否支持https协议

        2.各个浏览器是否网页显示正常,前端加载是否受到了影响

安全测试

        1.证书是否合法合规

        2.扫描是否存在安全漏洞文章来源地址https://www.toymoban.com/news/detail-803414.html

到了这里,关于http和https的区别以及测试手法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTTP协议 和 HTTPS协议的区别(4点) && HTTPS的缺点 && HTTP如何使用SSL/TLS协议加密过程 && CA证书干啥的

      1. HTTP协议的端口号是80, HTTPS协议的端口号是443 2. HTTP协议使用的URL是以 http:// 开头,HTTPS协议使用的URL是以https://开头 3. HTTP协议和HTTPS协议最主要的区别是: HTTP协议所生成的HTTP请求报文被TCP协议 以明文形式透明传输,同时 客户端与服务器之间无法核验对方的身份(不晓

    2024年02月14日
    浏览(46)
  • HTTP、HTTPS、SSL协议以及相关报文讲解

    目录 HTTP/HTTPS介绍 HTTP/HTTPS基本信息 HTTP如何实现有状态 HTTP请求与应答报文 HTTP请求报文 HTTP响应报文 SSL协议 SSL单向认证 SSL双向认证 HTTP连接建立与传输步骤 HTTP访问全过程相关报文(以访问www.download.cucdccom为例子) DNS报文解析 TCP三次握手连接 进行HTTP交互(明文) HTTPS连接

    2024年02月04日
    浏览(60)
  • HTTP协议 和 HTTPS协议的区别(4点) && HTTPS如何使用SSL/TLS协议加密过程 && CA证书干啥的

      1. HTTP协议的端口号是80, HTTPS协议的端口号是443 2. HTTP协议使用的URL是以 http:// 开头,HTTPS协议使用的URL是以https://开头 3. HTTP协议和HTTPS协议最主要的区别是: HTTP协议所生成的HTTP请求报文被TCP协议 以明文形式透明传输,同时 客户端与服务器之间无法核验对方的身份(不晓

    2024年02月14日
    浏览(43)
  • http和https的区别,以及https涉及到的加密过程

    一.http与https的介绍 http:超文本传输协议,是互联网应用最广泛的一种网络协议。设计的最初目的是为了提供一种发布和接收HTML页面的方法。是以明文的形式来传输的,所以就会存在一定的安全隐患(因为攻击者可以截取web服务器和网站相关的报文,就可以直接读懂其中的信

    2024年02月05日
    浏览(44)
  • 网络原理 - HTTP / HTTPS(5)——https协议

    目录 一、HTTPS是什么 为什么要进行加密 二、“加密” 是什么 三、HTTPS的工作过程 (1)引入对称加密 对称密钥的特点: (2)引入非对称加密 非对称加密的特点: (3)中间人攻击 (4)引入证书 1、证书的介绍 2、证书验证过程 3、几个关键问题(黑客不能篡改证书的原因)

    2024年04月17日
    浏览(44)
  • 计算机网络 - http协议 与 https协议(2)

    本篇介绍了构造http请求的的五种方式,简单的使用postman构造http请求,进一步了解https, 学习https的加密过程,了解对称密钥与非对称密钥对于加密是如何进行的,如有错误,请在评论区指正,让我们一起交流,共同进步! 本文开始 1) 直接在浏览器中的地址栏中输入一个 u

    2024年02月13日
    浏览(62)
  • http和https的区别?(网络通讯)

    HTTP:               HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)都是用于互联网通信的协议,但HTTPS是一种更加安全的协议。 HTTPS:              HTTP是一种明文传输协议,信息传输的过程中没有加密,容易被黑客窃取信息。而HTTPS则在HTTP的基础上增加

    2024年02月14日
    浏览(38)
  • HTTP 和 HTTPS 协议原理【网络基础】

    友情链接: HTTP协议【网络基础/应用层】 简单:HTTP 是一种文本协议,易于理解和实现。HTTP 的请求和响应都由起始行、首部字段和可选的消息主体组成,每个部分都有明确的语法规则。HTTP 的方法、状态码和首部字段都有标准化的定义,方便开发者遵循。 灵活:HTTP 是一种无

    2024年02月09日
    浏览(58)
  • 网络协议分析-http/https/tcp/udp

    “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端,因而产生 错误”。主要目的防止 server 端一直等待,浪费资源。换句话说,即是为了保证服务端能收 接受到客户端的信息并能做出正确的应答而进行前两次(第一次和第二次)握手,为了保证客

    2024年02月11日
    浏览(48)
  • 【Linux网络】网络应用层的 http 和 https协议

    在之前学习序列化和反序列化的时候,认识到主机之间传输结构数据的时候,最好是通过某种约定将结构数据序列化成一串字符串,接收方再通过反序列化将字符串转换成结构数据。以上说的这种约定,其实可以看成是用户层通信的一种协议,是由程序猿自己定的。   实际

    2024年02月02日
    浏览(60)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包