1 简述DNS解析过程
- 客户机发出查询请求,在本地计算机缓存查找,若没有找到,就会将请求发送给dns服务器
- 本地dns服务器会在自己的区域里面查找,找到即根据此记录进行解析,若没有找到,就会在本地的 缓存里面查找
- 本地服务器没有找到客户机查询的信息,就会将此请求发送到根域名dns服务器
- 根域名服务器解析客户机请求的根域部分,它把包含的下一级的dns服务器的地址返回到客户机的 dns服务器地址
- 客户机的dns服务器根据返回的信息接着访问下一级的dns服务器
- 这样递归的方法一级一级接近查询的目标,最后在有目标域名的服务器上面得到相应的IP信息
- 客户机的本地的dns服务器会将查询结果返回给我们的客户机 8、客户机根据得到的ip信息访问目标主机,完成解析过程
2 转发和重定向的区别
- 转发是服务器行为。服务器直接向目标地址访问URL,将相应内容读取之后发给浏览器,用户浏览器地址栏URL不变,转发页面和转发到的页面可以共享request里面的数据。
- 重定向是利用服务器返回的状态码来实现的,如果服务器返回301或者302,浏览器收到新的消息后自动跳转到新的网址重新请求资源。用户的地址栏url会发生改变,而且不能共享数据。
3 HTTP
3.1 简述 HTTP 1.0
- 规定了请求头和请求尾,响应头和响应尾(get post)
- 每一个请求都是一个单独的连接,做不到连接的复用
3.2 简述HTTP 1.1的改进
- HTTP 1.1默认开启长连接,在一个TCP连接上可以传送多个HTTP请求和响应。使用 TCP 长连接的方式改善了 HTTP/1.0 短连接造成的性能开销。
- 支持管道(pipeline)网络传输,只要第一个请求发出去了,不必等其回来,就可以发第二个请求出去,可以减少整体的响应时间。
3.3 简述HTTP 2.0的改进
- 提出多路复用。多路复用前,文件是串行传输的,请求a文件,b文件只能等待,并且连接数过多。引入多路复用,a文件b文件可以同时传输。
- 引入二进制数据帧。其中帧对数据进行顺序标识,有了序列id,服务器就可以进行并行传输数据。
4 简述http状态码和对应的信息
1XX:接收的信息正在处理 2XX:请求正常处理完毕 3XX:重定向 4XX:客户端错误 5XX:服务端错误
常见错误码: 200 OK : 请求被成功的处理并且正确的返回 301:永久重定向 302:临时重定向 304:资源没修改,用之前缓存就行 304 Not Modified : 一般用来实现缓存 400:客户端请求的报文有错误 403:表示服务器禁止访问资源 404 Not Found: 找不到资源 405 Method Not Allowed: 请求不允许 500 Internal Server Error :服务端代码错误 502 Bad Gateway: 坏请求 504 Gateway Time-out : 网络超时 505 HTTP Version not supported : 协议版本不匹配
5 HTTPS
5.1 HTTPS的连接过程
- 浏览器将支持的加密算法信息发给服务器
- 服务器选择一套浏览器支持的加密算法,以证书的形式回发给浏览器
- 客户端(SSL/TLS)解析证书验证证书合法性,生成对称加密的密钥,我们将该密钥称之为client key,即客户端密钥,用服务器的公钥对客户端密钥进行非对称加密。
- 客户端会发起HTTPS中的第二个HTTP请求,将加密之后的客户端对称密钥发送给服务器
- 服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文。
- 服务器将加密后的密文发送给客户端
- 客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。这样HTTPS中的第二个HTTP请求结束,整个HTTPS传输完成
5.2 HTTP与HTTPS的区别
- HTTP所有传输的内容都是明文,并且客户端和服务器端都无法验证对方的身份。
- HTTPS具有安全性的SSL加密传输协议,加密采用对称加密,
- HTTPS协议需要到ca申请证书,一般免费证书很少,需要交费。
6 Get与Post区别
Get:指定资源请求数据,刷新无害,Get请求的数据会附加到URL中,传输数据的大小受到url的限制。 Post:向指定资源提交要被处理的数据。刷新会使数据会被重复提交。post在发送数据前会先将请求头发送给服务器进行确认,然后才真正发送数据。
|