1.http请求都包含哪些内容,请求头和请求体有哪些内容
请求行/请求头/请求体/空行
请求行:请求方法字段、URL字段、http协议版本 例如:GET /index.html HTTP/1.1
请求方法:GET、POST、PUT、DELETE、OPTIONS、TRACE、CONNECT、HEAD
请求头:headers (key value形式)
user-agent:产生请求的浏览器类型
accept:客户端可识别内容类型
host:主机地址
cookie:
空行:最后一个请求头字段的后面是一个空行,通知服务器请求头部至此结束。请求消息中的空行,用来分隔请求头部与请求体
请求体:请求中传输的数据
请求体中存放的,是要通过 POST 方式提交到服务器的数据。只有 POST 请求才有请求体,GET 请求没有请求体!
响应体:响应体中存放的,是服务器响应给客户端的资源内容
2.post和put的区别
post:(新增)向服务器提交资源(例如提交表单,json或上传文件)数据被包含在请求体中传递给服务器
put:(修改)向服务器提交资源,并使用提交的新资源,替换调服务器旧的资源
get:(查询)发送请求来获得服务器上的资源,请求体中不包含请求数据,请求数据放在协议头中
delete:(删除)请求服务器删除指定的资源
head:head方法请求一个与GET请求的响应的响应,但没有响应体
patch:是对put方法的补充,用来对已知资源进行局部更新
options:获取http服务器支持的http请求方法,允许客户端查看服务器的性能,比如ajax跨域时的预检等
trace:沿着到目标资源的路径执行一个消息环回测试,主要用于测试或诊断
connect:建立一个到由目标资源标识的服务器的隧道
3.Linux命令如何删除一个月前的某个路径下的内容
find /user/oce -mtime +30 -name “*.*” -exec rm -Rf {}\;
4.testng注解有哪些
TestNG-常用注解介绍_testng注解-CSDN博客
1>before 类别和after类别注解
@BeforeSuit @AfterSuit
@BeforeTest @AfterTest
@BeforeClass @AfterClass
@BeforeMethod @AfterMethod
上述的注解分为Before类别和After类,我们可以在Before类别的注解方法里面做一些初始化动作,如实例化数据库连接、新建数据库连接池、创建线程池、打开文件流等等。然后,我们可以在After类别的注解方法里面做一些销毁动作,如释放数据库连接、销毁数据库连接池、销毁线程池或者关闭文件流等等。同一类别的不同注解会在不同的位置被调用.
2>@Test 注解
3>@Parameters注解
4>@DataProvider注解
5>@Factory注解
6>@Listeners注解
5.JAVA和python实现序列化和反序列化
了解Python序列化 - 知乎
java序列化和反序列化的实现原理
【精选】java序列化和反序列化的实现原理
6.jdk,jre,jvm之间的联系
一、JDK,JRE,JVM是什么?
JDK(java development kit):编译环境。Java 开发工具包。JDK 是整个 Java 开发的核心,它集成了 JRE 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。JDK包括了Java运行环境JRE(Java Runtime Envirnment)、一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包括rt.jar)。
通常在安装好JDK之后,JRE也会自动安装好
JRE (java runtime environment):运行环境。负责装载用户自定义的类(分为从本地装载和从网络装载两种)和java API类。
JVM :平台软件,负责将字节码解释成机器码并提交操作系统执行。换句话说,JVM就是Java 虚拟机。它只认识 xxx.class 这种类型的文件,它能够将 class 文件中的字节码指令进行识别并调用操作系统向上的 API 完成动作。所以说,jvm 是 Java 能够跨平台的核心,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。jvm调用解释所需的类库lib,而jre包含lib类库。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行(跨平台性:不同的浏览器安装不同的java虚拟机,jvm将字节码与对应操作系统相映射,达到java程序的跨平台性)。
简单来说三者的关系是:JDK>JRE>JVM。
如果想要 运行 一个开发好的 Java 程序,计算机中只需要安装 JRE 即可。
二、JDK、JRE、JVM关系
JDK = JRE + 开发工具集(例如 Javac 编译工具等)
JRE = JVM + Java SE 标准类库
联系与区别:
1.我们利用JDK写了自己的JAVA代码程序后,通过JDK中的编译程序(javac)将我们的文本java文件编译成JAVA字节码,在JRE上运行这些JAVA字节码,JVM解析这些字节码,映射到CPU指令集或OS的系统调用。
2.JDK和JRE区别:在bin文件夹下会发现,JDK有javac.exe而JRE里面没有,javac指令是用来将java文件编译成class文件的,这是开发者需要的,而用户(只需要运行的人)是不需要的。JDK还有jar.exe, javadoc.exe等等用于开发的可执行指令文件。这也证实了一个是开发环境,一个是运行环境。jdk是给开发人员使用的,jre和jvm是给普通用户使用。
3.JRE和JVM区别:JVM并不代表就可以执行class了,JVM执行.class还需要JRE下的lib类库的支持(rt.jar)
7.授权和认证的区别
认证和授权的区别:
-
认证是验证确认身份以授予对系统的访问权限。授权确定你是否有权访问资源。
-
认证是验证用户凭据以获得用户访问权限的过程。授权是验证是否允许访问的过程。
-
认证决定用户是否是他声称的用户。授权确定用户可以访问和不访问的内容。
-
认证所需的身份验证通常需要用户名和密码。授权所需的身份验证因素可能有所不同,具体取决于安全级别。
-
身份验证是授权的第一步,因此始终是第一步。授权在成功验证后完成。
什么是认证
认证是关于验证你的凭据,如用户名/邮箱和密码,以验证访问者的身份。系统确定你是否就是你所说的使用凭据。在公共和专用网络中,系统通过登录密码验证用户身份。身份认证通常通过用户名和密码完成,有时与认证可以不仅仅通过密码的形式,也可以通过手机验证码或者生物特征等其他因素。
在某些应用系统中,为了追求更高的安全性,往往会要求多种认证因素叠加使用,这就是我们经常说的多因素认证。常见的认证方式:
- 用户名密码认证
- 手机和短信验证码认证
- 邮箱和邮件验证码认证
- 人脸识别/指纹识别的生物因素认证
- OTP 认证
- Radius 网络认证
什么是授权
授权发生在系统完成身份认证之后,最终会授予你访问资源(如信息,文件,数据库,资金,位置,几乎任何内容)的完全权限。简单来说,授权决定了你访问系统的能力以及达到的程度。
授权是确定经过身份验证的用户是否可以访问特定资源的过程。它验证你是否有权授予你访问信息,数据库,文件等资源的权限。授权通常在验证后确认你的权限。简单来说,就像给予某人官方许可做某事或任何事情。
例如,验证和确认组织中的邮箱和密码的过程称为认证,但确定哪个员工可以访问哪个楼层称为授权。假设你正在旅行而且即将登机。当你在登记前出示机票和一些身份证明时,你会收到一张登机牌,证明机场管理局已对你的身份进行了身份验证。但那不是它。乘务员必须授权你登上你应该乘坐的航班,让你可以进入飞机内部及其资源。
8.
9—10.数据库语句查询多表查询