网易微专业-DOM编程艺术 06数据通信

1、HTTP事务

请求报文和响应报文,包括三部分:头行、头部、主体。 浏览器接受到响应报文后,将报文主体显示在浏览器上

2、请求报文格式

头行:三部分组成,http方法、主机地址、HTTP版本号 头部:许多键值对组成。accept浏览器端可以接受到的媒体类型;cache-control缓存策略;user-agent当前浏览器版本 主体:因为请求是get方法,所以请求体为空

3、响应报文格式

头行:http协议版本、http状态码、http状态码描述 头部:Expires缓存有效时间 主体:访问的是页面,所以是完整的XML文件

4、常用HTTP方法

get最常用方法

5、URL构成

协议,主机(主机名,端口),路径,查询字符串,hash pathname/search/hash都是不必须的

6、常见HTTP状态码

7、Ajax :Asynchronous JavaScript and XML
XMLHttpRequest 对象
⑴Ajax通信流程

初始readyState为0,其他两个值为空
调用open()方法开启一个请求,但没有向服务器端发出请求 此时,readyState:1
调用send()方法,正式向服务器端发出请求 readyState:2
浏览器接收到服务器返回的数据 xhr的readyState属性变为3
浏览器结束请求 responseText变为相应的返回值,这里是一个XML文件

⑵AJAX调用示例

⑶open 开启一个请求以备发送,但不会向服务器端正式发起一个请求

open方法 url表示请求资源相对于当前文档的路径

⑷ setRequestHeader 调用open方法之后调用的,不必要一定调用。调用这个方法可以在请求体头部设置一些头部字段

如果当前请求是表单编码,将value值设为application/x-www-form-urlencoded 如果表单带文件上传,将value值设为multipart/form-data

⑸send 正式向服务器端发起请求调用的

send方法

⑹Ajax调用示例

在XMLHttpRequest2的标准里,还可以监听xhr.onload来代替xhr.onreadystatechange事件

⑺请求参数序列化

将查询参数作为字符串跟在URL后面 如果查询参数是对象,应该将对象转化为字符串
将对象转化为字符串的函数

⑻GET请求

get方法,send中请求体为空

⑼POST请求

⑽ 同源策略
(上面的URL路径都是相对于当前文档的相对路径,这是受Ajax同源策略影响)

⑾跨域资源访问 :不满足同源策略的访问

同源策略会对做一些应用造成很多限制

⑿CORS

流程图

⒀其他跨域技术

⒁Frame代理

⒂JSONP

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 6.数据通信 HTTP协议 HTTP 请求过程:浏览器向服务器端发送一个 HTTP 请求报文,服务器端接到请求报文...
    hyt222阅读 1,293评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • element.chidren和element.childNodes的区别 element.children是El...
    cheerss阅读 3,280评论 0 1
  • 回顾已是100多天,从公众号每天更新一篇,也只是偶尔中断了两次。再看看以前写的文,似乎有了很大的变化。 记得两年前...
    逆行的水星阅读 3,153评论 17 27
  • 一、你若懂我,该有多好 近来,读丰子恺《缘缘堂随笔》,书中有个小故事。 话说某日,子恺酒足饭饱后回家,百无聊赖,就...
    围炉烤火阅读 3,520评论 1 1