HTTP和web安全常见面试题

1.web安全和攻击你知道

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

2. 常见状态码

3. http与https的区别

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

5. get和post(重点学习)

区别一:get重点在从服务器上获取资源,post重点在想服务器发送数据; 区别二:get传输数据是通过URL请求,以filed(字段)=value的形式,置于URL后,并用"?"连接,多个请求数据之间用"&"连接,如,这个过程用户是可见的 区别三: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优化部分;减少响应内容大小,即对内容进行压缩。

9.三次握手,四次挥手

经验分享 程序员 微信小程序 职场和发展