一、OSI模型
1、物理层
2、数据链路层
3、网络层
4、传输层:TCP、UDP
5、会话层
6、表示层
7、应用层:HTTP(S)、FTP、DNS
http://testingpai.com/article/1621601730160
二、HTTP协议
1、互联网
客户端 服务端
浏览器、app、手机浏览器 前端服务(nginx) + docker、uwsgi(python) + 网关服务 + 业务服务
发送一个请求(请求地址) ———— nginx(转发请求、负载均衡) ---- 发送到对应的服务
2、HTTP协议
2.1、超文本传输协议,基于TCP之上的传输协议
2.2、TCP与HTTP区别:TCP理解为告诉公路,HTTP理解为跑在高速公路上的汽车
2.3、HTTP 数据传输格式
Content-Type:application/json;charset=utf-8 json格式
Content-Type:application/x-www-form-urlencoded form表单
multipart/form/data 传输文件
3、请求类型
get:获取资源
post:添加资源
put: 修改资源,不管是否部分修改,都要传
patch: 修改资源,部分修改只需要传修改的部分
delete: 删除资源
head:查看响应头(查看接口请求规范)
options:查看该接口支持的请求方式
trace:查看请求数据,自测
connect:HTTP/1.1协议预留的,将服务器作为跳板,去访问其他服务,再把请求到的数据给你,【代购】
4、HTTP组成
4.1、请求头
4.2、请求体
4.3、响应头
4.4、响应体
4.5、提取信息
1、请求地址:Request URL: https://openapiv5.ketangpai.com/UserApi/login
2、请求类型:Request Method: POST
3、请求数据:{"email":"1605118090@qq.com","password":"Aa123456","remember":"0","code":"","mobile":"","type":"login","reqtimestamp":1627735085061}
4、数据格式:Content-Type: application/json;charset=UTF-8
5、鉴权信息:鉴权令牌(token),1、直接去问开发;2、自己穷举
6、requests
5、响应状态码
1、1xxxx:服务端已经收到了你的请求,需要客户端继续操作
101:切换更高的协议
2、2xxx: 成功状态码
200:请求成功
201:post根据你发的数据,创建好了对应的资源
202:后端已经收到了,但是还没处理完成
206:部分处理成功,一般是用于get请求
3、3xxx:重定向
301:你请求的这个资源没有了,返回给你另外一个资源的地址,浏览器拿着这个地址继续请求
302:临时移除
4、4xxx:客户端错误
401:需要用户认证授权
404:客户端找的资源不存在,你客户端请求错误了,地址错误
408:服务器等待客户端请求超时
403:客户端发的请求服务端收到了,但是拒绝执行【权限问题、或者未实现的功能、黑名单】
402:保留资源,以后使用
5、5xxx:服务端错误
500:服务器错误,无法完成请求,服务器挂了
501:服务器不支持这个请求功能,无法完成请求
502:网关返回的,网关服务器通过另外的链接去其他服务器去拿数据,然后再给你,
他在拿数据的过程中访问到的了一个无效响应,没拿到数据
503:服务器维护、或者超负荷运作,暂时无法处理客户端的请求
504:网关没有及时从远端服务拿到请求数据
5、HTTPS请求过程【面试】
http://testingpai.com/article/1621922748535
6、http 与 https的区别
1、http明文传输、https密文传输,相对安全
2、http端口:80,https:443
3、https有CA证书,要钱的
4、http无状态的,https 是 ssl+http协议可以进行加密传输、身份认证
7、HTTPS+非对称加密(RSA)
1、黑客攻击
2、身份伪造
3、获取用户敏感信息
8、restful API设计风格
1、传统的接口设计
GET、POST /getUserInfo
GET /getUserInfoByid?id=1
2、restful设计风格
GET、POST /getUserInfo
/getUserInfo/12121?id=1
select name,age,sex from table where id =1
三、TCP协议
http://testingpai.com/article/1621601730160
http://testingpai.com/article/1621669379653