首页 > 其他分享 >接口测试(2)--HTTP协议,HTTPS协议

接口测试(2)--HTTP协议,HTTPS协议

时间:2023-06-28 09:11:43浏览次数:55  
标签:浏览器 请求 -- 发送 HTTPS 服务器 HTTP 客户端

HTTP协议:是超文本传输协议,它主要规定了在互联网中传输数据时的标准。主要用于定义客户端与web端服务器通讯的格式。

HTTP协议工作于客户端-服务端上。浏览器作为HTTP客户端,通过URL向,HTTP服务端即WEB服务器,发送所有请求。

HTTP特点:支持客户端/服务器模式, 简单快速, 灵活 ,无连接 ,无状态
HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。
        采用这种方式可以节省传输时间。即一次请求对应一次响应
HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。
        客户端以及服务器指定使用适合的MIME-type内容类型。
HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,
        这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

请求(request)响应(response)模型

上面这个模型比较简单,它描述的是HTTP1.0中的请求/响应过程。我们分析一下,整个过程中花费的时间包括:建立TCP三次握手的时间、客户端发送请求的时间、服务器返回响应的时间。 

1.建立连接,客户端发送一个网页请求,服务器端返回一个html页面(这里的页面只是一个纯文本的文本,也就是我们写的html代码),关闭连接;
2.浏览器解析html文件,遇到图片标记得到url这时,客户端和服务器在建立连接,客户端发送一个图片请求,服务器返回图片应答,关闭连接。(这里又涉及到无状态定义:对于服务器来说,这次的请求虽然是同一个客户端的请求但是他还是不知道这个是之前的那个客户端是同一个,及对于事务处理没有记忆能力);
3.重复2步骤直到html解析完毕;

 

 

HTTP协议基于请求(request)响应(response)模型

浏览器发送HTTP请求的过程:

 

  1. 当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务器发送HTTP请求。            【HTTP请求主要分为“Get”和“Post”两种方法。】

  2. 当我们在浏览器输入URL http://www.baidu.com 的时候,浏览器发送一个Request请求去获取 http://www.baidu.com 的html文件,服务器把Response文件对象发送回给浏览器。

  3. 浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如Images文件,CSS文件,JS文件。 浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。

  4. 当所有的文件都下载成功后,网页会根据HTML语法结构,完整的显示出来了。

 

标签:浏览器,请求,--,发送,HTTPS,服务器,HTTP,客户端
From: https://www.cnblogs.com/cyq0528/p/17510461.html

相关文章

  • C++中cout打印内容丢失
    原文地址:https://www.cnblogs.com/liqinglucky/p/cout.html写代码时遇到C++中cout打印不全的问题。现象代码调整前:我有个函数c_func(output,input,inlen)定义在原来的文件file.c里,然后在c++中调用了这个函数。file.cpp文件里的调用格式如下:cpp_func(){ c_func(output......
  • 合并行的单元格 EXTJS
    在ExtJS4中,如何合并行的单元格,已经选取的时候只能选择某一列,期望的效果如下:在ExtJS中,合并表头的列有现成方案,但是合并行单元格不是extjs的现有功能,这个需要底层扩展,也就是使用table的跨行实现。而ExtJS7以及新版本和ExtJS4在最底层的Grid组成上又有差别,所以不同......
  • 15款备受推崇的K8S可视化工具,你都玩过哪些?
    对于那些热爱探索新技术、寻找简化操作方式的运维工程师来说,如何更好地管理和操作K8S集群?本篇将分享15款备受推崇的K8S可视化工具,让你轻松管理和操作集群中的各种资源。你可能已经玩过其中的一些工具,这将是一个与你分享经验的机会哦!备受推崇的15款KubernetesDashboard:http......
  • 高并发整体可用性:一文详解降级、限流和熔断
     水满则溢,月盈则亏,任何事物都不可能无限制的发展,我们的系统服务能力也一样。 当随着流量的不断增长,达到或超过服务本身的可承载范围,系统服务的自我保护机制的建立就显得很重要了。 本文希望可以用最通俗的解释和贴切的实例来带大家了解什么是限流、降级和熔断。 ......
  • Java之thread常用成员
    setName用于自定义线程的名字,方便我们调试定为问题;@TestpublicvoidsetNameTest(){Runnablerun=()->{System.out.println(Thread.currentThread().getName());};vart1=newThread(run);t1.start();......
  • RHEL 10 不包含 X.org 显示服务器
    导读红帽企业 Linux 发行版RHEL10将不再包含X.orgServer。官方文档称,X.org 显示服务器已被弃用,并将在以后的主RHEL发行版本(从RHEL10开始)中删除。目前的RHEL9则仍包含X.org显示服务器,并会提供10年的支持,持续到2032年。红帽没有解释弃用X.org的原......
  • P8544 禁断之门对面,是此世还是彼世
    被蓝宝薄纱。题意复制的给定一场长度为\(n\)的正整数序列\(a\)和一个长度为\(m\)的正整数序列\(b\)。现在蓝根据序列\(a\)与序列\(b\)构造了一个\(n\)行\(m\)列的正整数矩阵\(A\)满足\(A_{i,j}=a_ib_j\),你需要构造\(n+1\)行\(t\)列的正整数矩阵\(B\)......
  • csi存储
    ContainerStorageInterface是由来自Kubernetes、Mesos、Docker等社区member联合制定的一个行业标准接口规范,旨在将任意存储系统暴露给容器化应用程序。CSI规范定义了存储提供商实现CSI兼容的VolumePlugin的最小操作集和部署建议。CSI规范的主要焦点是声明VolumePlugin必须实......
  • python指定大小文件生成
    使用特定大小的随机数生成,使用随机数生成器生成特定大小的字节,并将其写入文件中importosdefgenerate_file(file_path,file_size_bytes):withopen(file_path,'wb')asfile:file.write(os.urandom(file_size_bytes))if__name__=='__main__':#生......
  • [渗透测试]—5.3 网络渗透测试技术和工具
    在本章节中,我们将学习一些常用的网络渗透测试技术和工具,如Wireshark、Ettercap等。我们会尽量将内容讲解得详细、通俗易懂,并提供尽可能多的实例。5.1WiresharkWireshark是一款免费的开源数据包分析器,可以实时或离线捕获、分析和解码网络数据包。Wireshark可以帮助我们识别网络......