数据交互

--------------------复习--------------------
模块化:
1.sea、require 民间
CMD、AMD
模块.js define require/exports/module
前台.html
2.node.js 语言自身
require/exports/module

node_modules ./
3.ES6 官方
export/import

--------------------------------------------

babel -- ES6
WebPack --- 一站式

--------------------------------------------

数据交互:
1.http协议
2.form
3.ajax -- 官方、不能跨域 单向
4.jsonp -- 民间、跨域 不推荐
5.websocket -- 双工(双向)

--------------------------------------------
http协议 -- 协议:
1.无状态
2.连接过程 --连接、响应、请求
3.消息分两块:头、身子

---------------------------------------------
http缓存:
1.野路子 -- 随机数
2.官方 -- 3个头

---------------------------------------------
http:
https:s--安全的,
证书
---------------------------------------------
http 1.0 短连接
http 1.1 长连接--keep alive
http 2.0

---------------------------------------------

WebSocket

----------------------------------------------
form最重要:
1.action--提交到哪
2.method--GET/PUT/POST/DELETE/HEAD
GET 把数据放在url里面传输 数据量很小、缓存、看见 <=32k
POST 把数据放在body里面传输 数据量大、不会缓存、看不见 <1G

GET -- 获取东西
POST、PUT -- 发送东西 大量发送
DELETE -- 删除东西
HEAD -- 让服务器只发送头部回来(不需要内容)

3.name--数据的key

4.enctype:
application/x-www-form-urlencoded 名字=值&名字=值 默认值,小数据
multipart/form-data 分块 文件上传、大数据
text/plain

ajax、jsonp都是对form的模拟

-------------------原理--------------------
ajax原理 -- XMLHttpRequest
XMLHttpRequest -- 不兼容IE6
1.ajax好:用户体验、性能高

onreadystatechange 当通信状态改变时

readyState:
0 初始状态 xhr对象刚创建
1 连接 连接到服务器
2 发送请求 刚刚send完
3 接收完成 头接收完了
4 接收完成 体接收完了


status -- http状态码,通信结果
1xx 消息
2xx 成功
3xx 重定向
▪ 301 Moved Permanently 永久重定向 -- 下回不会再找他
▪ 302 Move temporarily 临时重定向 -- 下回还找他
▪ 304 Not Modified 缓存
4xx 请求错误
5xx 服务端错误


xhr接收数据:
xhr.response 、
xhr.responseText 文本数据
xhr.responseXML xml数据

成功:2xx/304

解析response
eval---不安全
JSON:
JSON.parse()
JSON.stringify()

安全:
1.前台没有安全性;后台才有安全问题
2.xss--跨站脚本攻击

ajax不允许跨域 --


json标准格式:
1.key值用引号包起来
2.必须双引号

 

posted @ 2019-07-29 09:27  菜菜123521  阅读(143)  评论(0编辑  收藏  举报