HTTP和web安全常见面试题

1.web安全和攻击你知道

Reflected XSS(基于反射的XSS攻击)

这种攻击主要依靠 站点服务端 返回脚本,在客户端 触发执行 从而发起Web攻击。
攻击的例子
1、当你在亚马逊 搜索图书的时候 搜不到书的时候显示提交的名称 
2、在搜索框搜索内容,填入“<script>alert('handsome boy')</script>”, 点击搜索
3、如果前端页面没有对 返回的数据进行处理 就会直接弹出alert 
也就是直接执行了用户在搜索框里边的脚本
4、 进而可以构造获取用户cookies的地址,通过QQ群或者垃圾邮件,
防御这种攻击的两种方法:
1、前端页面显示服务器端返回来的数据的时候 不仅是标签内容需要过滤、转义,就连属性值也都可能需要。让服
务器返回来的非法js脚本 没有办法到达前端的浏览器
2、后端接收请求时,验证请求是否为攻击请求,攻击则屏蔽。

2. 常见状态码

3. http与https的区别

 

4.协议中和网页缓存相关字段

 

 

5. get和post(重点学习)

区别一:get重点在从服务器上获取资源,post重点在想服务器发送数据;
区别二:get传输数据是通过URL请求,以filed(字段)=value的形式,置于URL后,并用"?"连接,多个请求数据之间用"&"连接,如http://127.0.0.1/Test/login.a...,这个过程用户是可见的
区别三:get传输量小,因为受URL长度限制,但效率较低
post可以传输大量数据,所以上传文件时只能用post方式
区别四:get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等
post较get安全

6.http2.0

一、多路复用的单一长连接

  1. 单一长连接
  2. 多路复用

二、头部压缩和二进制分针治

三、服务端推动Sever Push

7.URL的输入到浏览器解析的一系列事件

  • DNS解析

DNS解析实际上就是寻找你所需要的资源的过程。假设你输入www.baidu.com,而这个网址并不是百度的真实地址,互联网中每一台机器都有唯一标识的IP地址,这个才是关键,但是它不好记,乱七八糟一串数字谁记得住啊,所以就需要一个网址和IP地址的转换,也就是DNS解析。下面看看具体的解析过程

TCP提供一种可靠的传输,这个过程涉及到三次握手,四次挥手。

  • 发起TCP连接()
  • 发送HTTP请求

发送HTTP请求的过程就是构建HTTP请求报文并通过TCP协议中发送到服务器指定端口 请求报文由请求行请求抱头请求正文组成。

  • 服务器处理请求并返回HTTP报文
  • 浏览器解析渲染页面

 

 

  • 解析HTML形成DOM树
  • 解析CSS形成CSSOM 树
  • 合并DOM树和CSSOM树形成渲染树
  • 浏览器开始渲染并绘制页面 这个过程涉及两个比较重要的概念回流重绘,DOM结点都是以盒模型形式存在,需要浏览器去计算位置和宽度等,这个过程就是回流。等到页面的宽高,大小,颜色等属性确定下来后,浏览器开始绘制内容,这个过程叫做重绘。浏览器刚打开页面一定要经过这两个过程的,但是这个过程非常非常非常消耗性能,所以我们应该尽量减少页面的回流和重绘
  • 浏览器解析渲染页面

8.web优化

如何尽快的加载资源?答案就是能不从网络中加载的资源就不从网络中加载,当我们合理使用缓存,将资源放在浏览器端,这是最快的方式。

如果资源必须从网络中加载,则要考虑缩短连接时间,即DNS优化部分;减少响应内容大小,即对内容进行压缩。

https://www.jianshu.com/p/943019eccc79

9.三次握手,四次挥手

 

  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值