当前位置:   article > 正文

计算机网络:DNS解析过程、转发和重定向区别、HTTP发展、HTTPS、GET和POST_dns定向转发

dns定向转发

1 简述DNS解析过程

  1. 客户机发出查询请求,在本地计算机缓存查找,若没有找到,就会将请求发送给dns服务器
  2. 本地dns服务器会在自己的区域里面查找,找到即根据此记录进行解析,若没有找到,就会在本地的 缓存里面查找
  3. 本地服务器没有找到客户机查询的信息,就会将此请求发送到根域名dns服务器
  4. 根域名服务器解析客户机请求的根域部分,它把包含的下一级的dns服务器的地址返回到客户机的 dns服务器地址
  5. 客户机的dns服务器根据返回的信息接着访问下一级的dns服务器
  6. 这样递归的方法一级一级接近查询的目标,最后在有目标域名的服务器上面得到相应的IP信息
  7. 客户机的本地的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,服务器就可以进行并行传输数据。

3.4 HTTP特点

  1. 无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力,比如访问一个网站需要反复进行登录操作。
  2. 无连接:HTTP/1.1之前,由于无状态特点,每次请求需要通过TCP三次握手四次挥手,和服务器重新建立连接。比如某个客户机在短时间多次请求同一个资源,服务器并不能区别是否已经响应过用户的请求,所以每次需要重新响应请求,需要耗费不必要的时间和流量。
  3. 基于请求和响应:基本的特性,由客户端发起请求,服务端响应。
  4. 简单快速、灵活。
  5. 通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性。

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

HTTPS是身披SSL外壳的HTTP。HTTPS是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层HTTPS使用的主要目的是提供对网站服务器的身份认证,同时保护交换数据的隐私与完整性。
在这里插入图片描述

5.2 HTTPS的连接过程

  1. 客户端向服务器发起HTTP请求,将支持的加密算法列表和用作产生秘钥的随机数发给服务器。
  2. 服务器选择一套浏览器支持的加密算法,将它和一份包含服务器公钥的整数发给浏览器;证书还包含了用于认证目的的服务器标识,服务器还提供了一个随机数。
  3. 客户端对服务器的证书进行验证,并抽取服务器的公用秘钥;然后,再产生一个随机值用来进行对称加密的秘钥(client key);再用服务器公钥对客户端秘钥进行非对称加密,至此第一个HTTP请求结束。
  4. 客户端会发起HTTPS中的第二个HTTP请求,将加密之后的客户端对称密钥发送给服务器。
  5. 服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文。
  6. 服务器将加密后的密文发送给客户端。
  7. 客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。这样HTTPS中的第二个HTTP请求结束,整个HTTPS传输完成。

5.3 HTTPS的优点

尽管HTTPS并非绝对安全,掌握根证书的机构、掌握加密算法的组织同样可以进行中间人形式的攻击,但HTTPS仍是现行架构下最安全的解决方案,主要有以下几个好处:

(1)使用HTTPS协议可认证用户和服务器,确保数据发送到正确的客户机和服务器;

(2)HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全,可防止数据在传输过程中不被窃取、改变,确保数据的完整性。

(3)HTTPS是现行架构下最安全的解决方案,虽然不是绝对安全,但它大幅增加了中间人攻击的成本。

(4)谷歌曾在2014年8月份调整搜索引擎算法,并称“比起同等HTTP网站,采用HTTPS加密的网站在搜索结果中的排名将会更高”。

5.4 HTTPS的缺点

(1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;

(2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;

(3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

(4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。

(5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安

6 HTTP与HTTPS的区别

  1. HTTPS协议需要到ca申请证书,一般免费证书较少,因而需要一定费用
  2. HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的ssl加密传输协议。
  3. HTTP和HTTPS使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
  4. HTTP的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比HTTP协议安全。

7 Get与Post区别

Get:指定资源请求数据,刷新无害,Get请求的数据会附加到URL中,传输数据的大小受到url的限制。
Post:向指定资源提交要被处理的数据。刷新会使数据会被重复提交。post在发送数据前会先将请求头发送给服务器进行确认,然后才真正发送数据。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/189935
推荐阅读
相关标签
  

闽ICP备14008679号