山西网站开发二次开发,做网贷中介网站赚钱吗,网络工程专业毕业设计,柳州游戏网站建设1. http请求方式
HTTP请求方式有哪些#xff1a;GET POST PUT DELETE OPTIONS
1) GET POST 的区别#xff1f;
场景上#xff1a; GET 用于获取资源而不对服务器资源做更改提交的请求#xff0c;多次执行结果一致。用于获取静态数据#xff0c;幂等。 POST#xff1…1. http请求方式
HTTP请求方式有哪些GET POST PUT DELETE OPTIONS
1) GET POST 的区别
场景上 GET 用于获取资源而不对服务器资源做更改提交的请求多次执行结果一致。用于获取静态数据幂等。 POST会对服务器的资源做更改进而影响数据不幂等。
状态 浏览器不会对POST请求进行主动缓存业务逻辑很少对POST做缓存对GET请求会有缓存浏览器强刷会清除缓存数据。
安全性 GET的参数的放在url明文发送不安全易被捕获。 POST支持更多种类的请求参数数据类型放在请求头里可以更安全传输。
2) PUT请求和POST的区别
对于更新的定义 PUT请求通常是为了修改数据内容但不会增加种类 例如修改登录状态在线、离线、忙碌仅会改变状态值不会对状态枚举值发生改变
POST请求既可以修改内容同时也代表着可能增加类型种类例如可能在状态上增加一种免打扰状态
3) OPTIONS请求方法及使用场景 是浏览器的自动行为是一种http请求方法主要功能是一个预处理 预发送浏览器会在请求之前浏览器主动发送一个体积较小速度较快的请求和服务器交互一种合适的方式传输数据并利用服务器端的回复获取一部分服务器的状态和性能 判断浏览器是否需要做缓存等逻辑检查访问权限CORS等可以顺利交互。
4) 了解http协议的头部算法吗是如何降低开销的
HPACK算法 1) 客户端和服务端共同维护建立字典引用索引来标识重复的字符串 2) 通过编码算法压缩字符串从而进一步减小请求头的大小
客户端和服务端都可以利用字典来跟踪和实时访问存储之前发送的数据值也可以实时记忆对于相同的数据就不再通过每次请求和响应重复发送。
5) 上述字典的生命周期是如何如何保证被更新 首部表在http连接期内始终保证存在并独立的由客户端和服务端共同演进更新 每次新增的首部会通过一个键值对追加到末尾更新的值会替换原有的位置
6请求头和响应头
请求头 是为了让浏览器告知服务端自己的能力和配置
1. 常见的content-type有哪些
Accept - * 浏览器能处理的能力
connection 表示浏览器和服务端之间的连接类型
cookie 页面设置的内容一些后台配置服务器端可以注入权限等内容
host 发出请求的页面所在的域
referer 表示当前页面的运行身份
user-agent 判断浏览器设备类型操作版本等执行环境 响应头 服务器端告知自己的能力
Date 请求发送的时间
sever
connection
cache-control
content-type content-type属性值:
application/x-www-form-urlencoded - 原生form表单的形式
multipart/form-data - post常用表单提交post
application/json: 序列化后的JSON字符串 2. HTTP状态码
204 成功content 返回为空但是正确处理了
206 客户端进行了范围请求请求头里会有一个 content-range 301永久重定向例如访问地址已经不用了会被永久重定向到新的地址域名改变或者资源地址改变
302临时重定向例如某个特殊节日等会有一个特别的活动地址过了这段期间会恢复原地址
303请求的资源有另一个合适的途径应该使用get方法获取资源会将POST请求变为GET请求进行重定向
304通常跟浏览器缓存相关表示本次请求附带的条件未满足服务器的要求服务器发现后让浏览器使用之前请求的缓存来使用
307当前重定向会严格按照浏览器的诉求不会改变请求方式 302 303 307这三种重定向有什么区别
302是http1.0中出现的重定向在http1.1 中细化出了303和307 400请求报文出现了语法错误
401认证失败
403明确拒绝客户端非法forbidden
404服务器端找不到对应的资源当服务端拒绝查询资源且未说明理由时也会返回404
405当前请求方式不被允许 method not allowed 500执行请求发生错误
501暂时不支持当前操作
503超负荷或停机维护
3. http 1.x 和 2.x 的区别
2.0 持久型链接复用同一个TCP连接(1.1更新) 二进制传输头信息和数据体都用二进制传输 多路复用在同一个TCP连接中同时进行多个请求 数据流以数据流ID进行索引 头信息压缩对头信息进行字典化索引以及压缩 2.0允许服务器端主动向客户端未经请求地推送资源即资源非动态数据 ### keep-alive
什么是keep-alive建立过程和使用场景优缺点 建立过程: 1) 客户端发送报文夹带keep-alive的头配置 2) 服务端接收并处理并且返回keep-alive的返回头 3) 客户端和服务端共同维持当前长链接建立 服务端主动断开: 1) 需要先等客户端发起请求 2) 服务端返回请求并且不带keep-alive 3) 关闭连接 客户端主动断开: 1) 客户端请求头带上close字段keep-alive改成close 2) 服务端接受后处理并断开连接返回给客户端 3) 客户端接收资源并关闭连接 好处 服务端-CPU和内存占用下降请求和回复复用管道变少降低拥堵减少了后续请求的延时无需每次异常都关闭TCP
缺点 长时间的连接可能会导致无效占用 4. https 和 websocket SSL/TLS是什么 作用 和 工作原理 是一层安全协议用于身份验证 信息加密 完整性校验
依赖于散列函数hash、对称加密、不对称加密 散列函数hash MD5、SHA1等 单向不可逆且输入敏感型输出长度固定所以对于数据的修改都会导致值的变化所以可以做完整性校验判断信息中途未经修改 对称加密 特点两者共用同一种密钥同时对其进行加解密 缺点不能保证密钥传输的安全性 非对称加密 公钥 私钥利用公钥和对应私钥的互相加解密能力进行加密传输 缺点会被中间截取导致信息被篡改因此会有一个数字证书即相当于一个可信度高的机构公钥和其他信息加密形成一个摘要传输信息和认证中心的私钥等生成的签名signature形成数字证书在发送时发出去接收时用同样的算法生成一套摘要两个进行对比判断是否被篡改保证传输的安全。用两次非对称加密来保证中途信息安全。 5. websocket 基础原理 使用方式特点
全双工的网络技术属于应用层协议基于TCP传输协议可以复用HTTP的通道
原理 请求 客户端向服务端发送notify, 包含接收者的 id 和通知的 event 推送 立即通知所有客户端id满足的客户端才会响应当前推送的反馈
特点实时性比较强双向传输。握手一次就可以建立一个长链接可以接收客户端的推送。
6. DNS 与 网络协议
DNS 作用是将域名解析为 IP 地址客户端会向DNS服务器发送查询请求服务器返回给我们对应的IP地址。
迭代查询 每次请求都会单词访问不同级别的DNS服务器没查到就再次发送请求查询直到返回结果。
递归查询 只向目标服务器发送一次请求优先自我查找未找到会向下一级服务器进一步查询直到返回结果。
7. OSI七层模型
应用层 表示层 会话层 传输层 网络层 数据链路层 物理层
应用层 表示层 会话层 统称为应用层
8. TCP 和 UDP
区别 TCP有握手机制校验有安全保障注重完整性确定性的领域 UDP注重分发速度