美文网首页
web面试之网络

web面试之网络

作者: 西兰花伟大炮 | 来源:发表于2017-09-26 07:50 被阅读16次

(1)缓存

304状态码是对客户端有缓存情况下服务端的一种响应,客户端在请求一个文件的时候,发现自己缓存的文件有 Last Modified ,那么在请求中会包含 If Modified Since ,这个时间就是缓存文件的 Last Modified 。因此,如果请求中包含 If Modified Since,就说明已经有缓存在客户端。服务端只要判断这个时间和当前请求的文件的修改时间就可以确定是返回 304 还是 200


如果服务器在响应中设置了no-cache即Cache-Control:no-cache,那么浏览器在使用缓存的资源之前,必须先与服务器确认返回的响应是否被更改,如果资源未被更改,可以避免下载。
需要注意的是,no-cache这个名字有一点误导。设置了no-cache之后,并不是说浏览器就不再缓存数据,只是浏览器在使用缓存数据时,需要先确认一下数据是否还跟服务器保持一致。如果设置了no-cache

(2)同源策略

影响操作有

  • Cookie,LocalStorage,IndexDb不能读取
  • Ajax不能请求
  • 另一个源的Dom不能获取

前后端如何通信?

  • CORS(跨域资源共享)
  • Ajax
  • websocket

IE5,6使用ActiveXObject

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

跨域通信的几种方式

  • JSONP
  • Hash
  • postMessage
  • CORS
  • webSocket
  • 中间服务器代理转发

不受跨域影响的几个标签

  • <script>
  • <link>
  • <img>
  • <iframe>
(3)web安全

CSRF跨站请求伪造
XSS

  • xss的危害


    image.png
  • xss的防范


    image.png
(4)HTTP协议的特点

无连接:一次连接后会断开连接
无状态:断开后的下次连接服务器是无法知道上次与这次是相同连接

http方法

  • get
  • post
  • head -获取报文首部
  • put - 更新资源
  • delete

get与post的区别

  • 进行浏览器回退时,get不需要进行请求,post会重新进行请求
  • get可以被收藏添加书签
  • get会被浏览器主动缓存,保留get参数的历史记录
  • get请求的字符长度有限制,大概2kb
  • get请求通过url发送,post通过请求体进行发送
(5)浏览器从加载页面到渲染页面的过程

相关文章

网友评论

      本文标题:web面试之网络

      本文链接:https://www.haomeiwen.com/subject/iuatextx.html