Javascript知识点总结(2)

76 阅读2分钟
  1. html标签的property和attribute

property:修改标签对象属性,不会体现到html结构中
attribute:修改html属性,会改变html结构
这两者都可能引起DOM的重新渲染 2. #### 一次性插入多个标签如何优化性能 向无序列表中插入多个子标签

    <body>
        <ul id="list"></ul>
    </body>
    <script>
        const list=document.getElementById("list")

        //创建代码片段
        const frag=document.createDocumentFragment()

        for (let i = 0; i < 10; i++) {
            const li=document.createElement('li')
            li.innerHTML=i
            //此处若直接向list插入,性能较差
            frag.appendChild(li)
        }

        //插入代码片段重新渲染
        list.appendChild(frag)
    </script>
  1. http状态码

Status含义
1xx服务器接收到请求
2xx请求成功,如200
3xx请求重定向,如301永久重定向,302临时重定向,304资源未修改
4xx客户端错误,如404请求地址不存在,403没有权限
5xx服务器错误,如500服务器出错。504网关超时
  1. http请求头

request header含义
Accept客户端支持的数据类型
Accept-Charset客户端采用的编码
Accept-Encoding客户机支持的数据压缩格式
Accept-Language客户机的语言环境
Host告诉服务器,想访问的主机名
If-Modified-Since资源的缓存时间
User-Agent客户机的软件环境
Cookie可以向服务器带数据
Connection请求完后是关闭还是保持链接
Referer告诉服务器,它是从哪个资源来访问服务器的。(一般用于防盗链)
response header含义
Location配合302状态码使用,客户端重定向地址
Server服务器的类型
Last-Modified告诉浏览器当前资源的缓存时间
ETag缓存标识
Expires告诉浏览器把回送的数据缓存多长时间。-1或0不缓存
Cache-Control和Pragma控制浏览器不缓存数据
  1. Restful API

一种新的API设计方式
传统API设计:把每个url当做一个功能
Restful API设计:把每个url当做唯一的资源

method含义
GET获取数据
POST新建数据
PATCH/PUT更新数据
DELETE删除数据

Restful API的特点

  1. 不使用url参数

  2. 用method表示操作类型

  3. http缓存

将无需重复请求的资源暂存,在下一次请求时从本地读取,无需重复请求

image.png

image.png 强制缓存:cache-control max-age 最大缓存时间(秒) no-cache不进行强制缓存
协商缓存:Last-Modified最后修改时间
Etag资源唯一标识(优先级更高)

image.png

  1. http和https

http是明文传输协议,数据容易被劫持
https是http+加密,就算数据被劫持也无法解密
对称加密:使用同一个key加密和解密数据
非对称加密: 一对key,A加密后,只能用B解密
https同时使用非对称和对称加密,为了安全和节省成本

image.png