web面试之网络

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

相关阅读更多精彩内容

  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 7,830评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,224评论 19 139
  • http协议有http0.9,http1.0,http1.1和http2三个版本,但是现在浏览器使用的是htt...
    一现_阅读 5,916评论 0 3
  • 一、概念(载录于:http://www.cnblogs.com/EricaMIN1987_IT/p/3837436...
    yuantao123434阅读 12,729评论 6 152
  • 每个人都被生命询问,而他只有用自己的生命才能回答此问题;只有以“负责”来答复生命。因此,“能够负责”是人类存在最重...
    hiStarter阅读 3,813评论 0 2

友情链接更多精彩内容