简述HTTP method
一台服务器要与HTTP1.1兼容,只要为资源实现GET和HEAD方法即可。
GET是最常用的方法,通常用于请求服务器发送某个资源。
HEAD 与 GET 类似,但服务器在响应中值返回首部,不返回实体的主体部分。
PUT 让服务器用请求的主体部分来创建一个由所请求的 URL 命名的新文档,或者,如果那个 URL 已经存在的话,就用干这个主体替代它。
POST 起初是用来向服务器输入数据的。实际上,通常会用它来支持HTML的表单。表单中填好的数据通常会被送给服务器,然后由服务器将其发送到要去的地方。
TRACE 会在目的服务器端发起一个环回诊断,最后一站的服务器会弹回一个TRACE响应并在响应主体中携带它收到的原始请求报文。TRACE 方法主要用于诊断,用于验证请求是否如愿穿过了请求/响应链。
OPTIONS 方法请求 web 服务器告知其支持的各种功能。可以查询服务器支持哪些方法或者对某些特殊资源支持哪些方法。
DELETE 请求服务器删除请求 URL 指定的资源。
请介绍一下XMLhttprequest对象
XMLHttpRequest 对象用于在后台与服务器交换数据。 所有现代的浏览器都支持 XMLHttpRequest 对象。
XMLHttpRequest 对象能够:
- 在不重新加载页面的情况下更新网页
- 在页面已加载后从服务器请求数据
- 在页面已加载后从服务器接收数据
- 在后台向服务器发送数据
简述同源策略与跨域
同源策略是一种约定,它是浏览器最核心的也最基本的安全功能,同源策略明确规定了不同域的客户端在没有被明确的授权的情况下,不能读写对方的资源。如果缺少了同源策略,则浏览器的正常功能可能会受到影响。
当协议,主机,和端口号有一个不同时,就是跨域。
同源策略的成功与失败
可成功的方式:
访问同一域名,不同文件夹
同一域名,统一文件夹
失败的方式
不同域名,文件路径相同
同一域名,不同端口
同一域名,不同协议
没有同源策略的Dom查询:
可以通过获取不同源网站dom,比如你输入密码的input标签的内容,这样就可以轻松拿到用户名和密码,这样就有点太危险了吧!
异步加载JS的方式有哪些?
- defer,只支持
IE
async
:支持Ie8以上- 创建
script
,插入到DOM
中,加载完毕后callBack
defer
并行加载js
文件,会按照页面上script
标签的顺序执行async
并行加载js
文件,下载完成立即执行,不会按照页面上script
标签的顺序执行
异步运行机制如下:
(1)所有同步任务都在主线程上执行,形成一个执行栈(execution context stack)。
(2)主线程之外,还存在一个"任务队列"(task queue)。只要异步任务有了运行结果,就在"任务队列"之中放置一个事件。
(3)一旦"执行栈"中的所有同步任务执行完毕,系统就会读取"任务队列",看看里面有哪些事件。那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行。
(4)主线程不断重复上面的第三步。
什么是jq多库共存,如何多库共存
. n o C o n f l i c t ( ) / / 把 .noConflict()//把 .noConflict()//把符号的控制权释放出来 就 变 成 了 先 引 入 的 文 件 的 就变成了先引入的文件的 就变成了先引入的文件的了
1.后面的可以用jquery代替$进行使用,
2.或
用_$ 代替$ 方法:
function(KaTeX parse error: Expected '}', got 'EOF' at end of input: ){ 在函数中可继续使用
}(_$)