• ajax 相关细节知识点


    ■代表会用到(重要***) ■代表学过的(了解一下*)

    * xhr 它是一个实例,对象,
    * xhr.response 请求到数据之后的响应体,可以是任何格式
    * xhr.responseText 返回是数据文本,它是一个字符串格式,可以是json数据也可以是xml数据格式
    * xhr.responseXML 返回的是xml格式的数据
    *
    * onabort 中断ajax操作时执行的方法
    * onreadystatuschange 当状态发生改变执行的方法
    * timerout 设置ajax请求的超时时间 (例:xhr.timerout =1000;)
    * ontimeout 超时之后执行的方法
    * readyState ajax准备的状态
    * status http状态码
    * statusText 对http状态的一个描述
    * withCredentials 是否允许ajax跨域 false
    *
    * open 打开一个url连接
    * send 发送ajax请求
    * overrideMimeType 重写MIME类型
    * getAllResponseHeaders() 获取所有的响应头信息
    * getResponseHeader([key]) 获取响应头中的某个属性名对应的属性值


      请求方式:
        * get: 客户端向服务端获取一些数据【给的少拿到多】  chrome:8k moz:7k ie:2k 这是最大支持的大小,超出以后会被截断
        * head : 客户端获取服务端 的响应头信息
        * delete : 客户端删除 服务端的一些内容
        * put  : 客户端向服务端放置一些内容
        * post : 客户端向服务端获取一些信息【给的多,拿的少】 100kb
        * option : 客户端向服务端发送一些探测性的信息,如果有返回结果表示链接成功。例如 axios这个ajax类库 就是首先通过 option向服务端发送 跨域请求【cross domain 发送探测性信息】。
        *
        * 总结:不管是那种方式,都可以向服务端获取的数据,发送请求,常用是就是get和post



    * TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议
        *
        * 是一个非常复杂的传输协议,一般客户端和服务端进行通讯的时候一定通过TCP建立链接,以及断开的时候也会进行TCP链接,常用我们熟知的有三次握手以及四次挥手
        *
        * 客户端想要和服务端联系的时候要进行三次握手
        * 1. 当客户端想要和服务端进行联机的时候,会向服务端发送SYN码进行请求联机
        * 2. 服务端接收到联机请求后,同意联机,并且发送ACK码给客户端
        * 3. 客户端收到服务端发送的ACK码,验证成功之后,会再次发送给服务端ACK,表示开始进行联机
        *
        *
        *
        * 客户端想要和服务端断开链接会进行四次挥手
        * 1. 客户端传输数据结束,发送fin给服务端,要求关闭传输通道
        * 2. 服务端接收到请求之后,发送ACK码给客户端,我会关闭通道,但是我传输数据没有结束。
        * 3. 服务端在将自己传输的数据发送给客户端结束之后,再次发送fin给客户端,表示数据传输结束。
        * 4. 客户端接收到服务端的通知,发送ACK给服务端,表示你可以安心的关闭传输通道了
        *
        * 属于客户端和服务端的一个交互模式



    全局刷新:当前页面从头到尾加载一遍,表示全局刷新
         * 局部刷新:页面当中某一块内容进行跟新和显示,不影响其他部分的页面展示,我们叫做局部刷新,例如ajax可以实现页面局部的异步刷新
         *
         * 当我输入完地址之后,浏览器开始完整显示,现在表示全局刷新,
         * 当我们点击页面的某一个部分让它发生变化,就实现了局部刷新,【如果不点击的话,让页面默认展示最新的消息,我们可以使用ajax来向后台进行请求】
         *
         * 如果想让用户最快程度看到你页面的第一屏,你应该怎么做
         * 1. 将所有第一屏页面全部保存到后台,当用于输入域名请求的时候,后台全部展示第一屏页面,其他的页面我们都用ajax来进行访问
         * 前后端不分离
         * 当用户进行域名访问的时候,后端将整个页面都返回给前端,前端只负责渲染显示。当用户点击其他页面的时候,后台也是会返回整个页面给前端,会造成全局刷新的效果。但是好处是方便SEO【搜索引擎能够快速搜索到】,现在一般用的都比较少了,一些老的政府网站还在用【后端操作的是xml带有标签的数据】
         * 前后端分离
         * 当用户访问某个网址的时候,客户端再向服务端进行请求,服务端发送数据给客户端,客户端进行字符串拼接或者文档碎片拼接显示;前后端分离只要是字符串凭借的数据都没有SEO,包括你用jquery和react和vue搭建的网站都是没有SEO收录,前后端分离是最主流的合作模式。一般公司都会采用前后端分离。
         * 前后端未完全分离
         * 当用户访问某个网站的时候,服务端只返回首页源代码给前端,方便首屏进行快速加载【首屏所有的ajax异步请求,全部替换成后端的xml文件】。等用户操作其他页面的时候,我们再开始让他进行ajax请求。比如淘宝网
         *
     
  • 相关阅读:
    批量插入数据&自定义分页器
    ajax
    Django 多对多表关系的三种创建方式
    Django ORM之F与Q查询
    Django ORM跨表查询&聚合、分组查询
    Django ORM多表操作
    Django ORM单表操作常用字段
    HashMap的容量大小增长原理(JDK1.6/1.7/1.8)
    80端口被占用
    中级视频地址
  • 原文地址:https://www.cnblogs.com/MrZhujl/p/10095043.html
Copyright © 2020-2023  润新知