一、HTTP基础 HTTP请求状态码详解:http://testingpai.com/article/1657099033752 HTTP请求报文详解:http://testingpai.com/article/1647511749166
二、HTTP协议概念: 1、Hyper Text Transfer Protocol(超文本传输协议) 2、用于从万维网服务器传输超文本到本地浏览器的传送协议 3、HTTP协议是基于TCP的应用层协议,它不关心数据传输的细节,主要是用来规定客户端和服务端的数据传输格式,最初是用来向客户端传输HTML页面的内容。 4、默认端口是80 5、http是基于请求与响应模式的、无状态的、应用层的协议
三、HTTP请求方法 1、get: 获取服务端数据 2、post: 向服务端提交数据 3、put(全部修改)/patch(局部修改):修改服务端的数据put请求提交数据 4、delete:删除服务端数据 5、head: 查看响应头 6、options:查看支持的请求发方式 7、trace:查询自己的请求数据 8、connect: 预留方法,代购,代替你去访问某个接口,讲接口返回数据也一起给你
四、HTTPS请求过程 1、客户端向服务端发送HTTPS请求 2、服务端向CA机构获取CA证书(公A,私钥A) 3、服务端将CA证书(公钥A)返回给客户端 4、客户端预先放了一个CA证书,客户端获取到服务端返回的CA证书,校验证书是否合法 5、CA证书校验通过,客户端将公钥A取出来,随机生成一个key 6、客户端通过公钥A对随机生成的key进行加密,传输给服务端 7、服务端通过原来的私钥A进行解密,等到客户端随机生成的key 8、服务端使用获取的key进行加密,然后将加密数据传给客户端 9、客户端收到加密数据后,通过之前生成的key进行解密得到后端的返回数据 10、客户端与服务端一直会通过key进行加密传输(对称加密)
五、:HTTP请求和HTTPS区别 1、http明文传输,https密文传输协议 2、默认端口http:80端口,https:443端口 3、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用 4、http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
六、get和post区别: 安全性:
1、get传参放在接口地址后面(浏览器地址后面),相对来说不那么安全
2、post请求数据藏起来的,放在请求体里面(body) 使用场景
3、get请求一般用于获取数据
4、post请求用于提交数据 参数长度
5、get请求一般参数有长度限制,后端服务器做的限制
6、post请求参数也有长度限制,后端服务器做的限制(post参数长度一般大于get)
幂等性 get请求都是幂等的,同一个接口,同一个参数请求N遍,返回结果都不会变 post请求一般是不幂等的(支付、注册、提现这类接口要做幂等处理) 面试:HTTP是基于TCP之上的,协议层是传输层,三次握手和四次挥手