http协议学习

OSI七层协议
描述了网络活动的特点

应用层:应用程序的网络
表示层:完成对传输数据的转化,加密解密
会话层:建立维护拆除,session缓存
传输层:建立一个可靠的端到端的连接
网络层:负责寻址和广播
数据链路层:将上层数据封装成帧
物理层:传输比特流

tcp/ip
网络通讯协议
应用层:应用程序之间沟通的层
传输层:数据传输,应用程序之间
网络互连层:
网络层

三次握手,四次挥手的原因:
3次握手完成两个重要的功能,既要双方做好发送数据的准备工作(双方都知道彼此已准备好),
也要允许双方就初始序列号进行协商,这个序列号在握手过程中被发送和确认。
因为当Server端收到Client端的SYN连接请求报文后,可以直接发送SYN+ACK报文。其中ACK报文是用来应答的,
SYN报文是用来同步的。但是关闭连接时,当Server端收到FIN报文时,
很可能并不会立即关闭SOCKET,所以只能先回复一个ACK报文,
告诉Client端,“你发的FIN报文我收到了”。只有等到我Server端所有的报文都发送完了,我才能发送FIN报文,
因此不能一起发送。故需要四步握手。

TCP还设有一个保活计时器,服务器每收到一次客户端的请求后都会重新复位这个计时器,时间通常是设置为2小时,
若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒钟发送一次。
若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

每经过一个路由,TTL-1

ARP是如何工作的?ARP欺骗的工作原理是?及如何防御ARP的欺骗?
1.ARP叫做地址解析协议,主要用于三层IP地址到二层MAC地址的解析
2.ARP工作原理:在同一广播域内,当设备知道目标设备的IP,当不知道目标设备的MAC地址时,
该设备发送一个ARP广播,本广播域内的所有设备均会收到。但只有目标设备收到该ARP请求广播,
得知是需要请求自己的MAC地址时,才会向源设备发送一个ARP的回应。告之源设备自己所对应的MAC地址。
3.ARP欺骗主要是利用IP与MAC的绑定关系通信的原理,伪造绑定关系,从而达到欺骗的目的,
ARP的欺骗分为两种,主机欺骗及网关欺骗,主机欺骗主要是伪造局域网的某台主机的绑定关系,
从而截取数据,而网关欺骗则是伪造网关的绑定关系,将所有的数据导向欺骗者,还有一种欺骗为双向欺骗。
4.ARP欺骗解决方案有:ARP静态绑定,安装ARP防火墙,启用交换机的动态ARP审查功能等
可以延伸一下arp欺骗的解决办法,比如设备上面做绑定。

arp -a,查看缓存
nslookup 域名 查看域名对应ip

MAC,48位

ip:互联网协议地址,为互联网的每一个网络和每一台主机分配的逻辑地址,
屏蔽物理地址的差异
ipv4:A:1-126,B:128-191,C:192-223
ipv6:

在局域网的信息数据传输中,每个主机会将目标ip地址通过地址解析协议ARP转换为MAC地址,
交换机中存储的也是MAC地址与端口的映射集,所有他们其实是通过MAC地址进行交互

软件测试:在规定条件下对程序进行操作,从而发现错误,对软件质量进行评估的一个过程
测试目的:想以最少的人力,物力和时间找出软件中潜在的各种错误与缺陷,提高软件质量,回避商业风险
测试定义:使用人工和自动运行或测试某个系统的过程1,检测是否满足规定的需求
完全测试时不可能的,需要描述缺陷报告
回归测试:修改代码后,重新进行测试

软件产品质量模型,六大特性iso
1.功能性
2.可靠性
3.易用性
4.效率
5.可维持性
6.可移植性

软件质量模型保证QSA
对软件产品和活动进行评审和审计验证软件是合乎标准的
1.保证软件质量保证工作是有计划进行
2.客观验证软件项目是否符合标准
3.将软件质量保证工作通知

软件测试基本流程
1.需求分析
2.编写测试用例
3.评审测试用例
4.搭建测试环境
5.等待测试包
6.部署测试包
7.冒烟测试
8.执行测试用例
9.bug跟踪

客户端 >http协议>服务端
<web api<

postman接口测试
jemeter性能测试

接口测试:
根据需求(接口)文档构建输入,检查输出

请求语法:
post
host
content-type

HTTPS和HTTP的区别主要如下:
1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

HTTP和HTTPS的基本概念
HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。
HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。

HTTP特点
1.支持客户/服务器模式。(C/S模式)
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快

HTTP工作流程
第一步:建立TCP/IP连接,客户端与服务器通过Socket三次握手进行连接
第二步:客户端向服务端发起HTTP请求(例如:POST/login.html http/1.1)
第三步:客户端发送请求头信息,请求内容,最后会发送一空白行,标示客户端请求完毕
第四步:服务器做出应答,表示对于客户端请求的应答,例如:HTTP/1.1 200 OK
第五步:服务器向客户端发送应答头信息
第六步:服务器向客户端发送请求头信息后,也会发送一空白行,标示应答头信息发送完毕,接着就以Content-type要求的数据格式发送数据给客户端
第七步:服务端关闭TCP连接,如果服务器或者客户端增Connection:keep-alive就表示客户端与服务器端继续保存连接,在下次请求时可以继续使用这次的连接

HTTPS特点
HTTPS是HTTP协议的修改,它加密数据并确保其机密性。其配置可保护用户在与网站交互时免于窃取个人信息和计费数据。
1、优点
相比于http,https可以提供更加优质保密的信息,保证了用户数据的安全性,此外https同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大大提高。
2、缺点
缺点也同样很明显,第一https的技术门槛较高,多数个人或者私人网站难以支撑,CA机构颁发的证书都是需要年费的,此外对接Https协议也需要额外的技术支持;其二,目前来说大多数网站并不关心数据的安全性和保密性,其https最大的优点对它来说并不适用;其三,https加重了服务端的负担,相比于http其需要更多的资源来支撑,同时也降低了用户的访问速度;第四,目前来说Http网站仍然大规模使用,在浏览器侧也没有特别大的差别,很多用户不关心的话根本不感知。
HTTPS工作流程
流程

第一步:客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
第二步:Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
第三步:客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
第四步:客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
第五步:Web服务器利用自己的私钥解密出会话密钥。
第六步:Web服务器利用会话密钥加密与客户端之间的通信。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值