网站特效 站长做属于公司的网站有什么好处
news/
2025/9/24 4:25:48/
文章来源:
网站特效 站长,做属于公司的网站有什么好处,网站从设计到制作,极简主题wordpress计算机网络21-40 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用21、HTTPS是如何保证数据传输的安全#xff0c;整体的流程是什么#xff1f;#xff08;SSL是怎么工作保证安全#xff09;对称加密非对称加密消息认证码 (MAC)数字证书 22、如何保证公钥不被… 计算机网络21-40 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用21、HTTPS是如何保证数据传输的安全整体的流程是什么SSL是怎么工作保证安全对称加密非对称加密消息认证码 (MAC)数字证书 22、如何保证公钥不被篡改23、HTTP请求和响应报文有哪些主要字段请求报文响应报文 24、Cookie是什么25、Cookie有什么用途26、Session知识大总结27、Session 的工作原理是什么28、Cookie与Session的对比29、SQL注入攻击了解吗30、网络的七层模型与各自的功能图片版31、什么是RARP工作原理32、端口有效范围是多少到多少33、为何需要把 TCP/IP 协议栈分成 5 层或7层34、DNS查询方式有哪些递归解析迭代解析 35、HTTP中缓存的私有和共有字段知道吗36、GET 方法参数写法是固定的吗37、GET 方法的长度限制是怎么回事38、POST 方法比 GET 方法安全39、POST 方法会产生两个 TCP 数据包你了解吗40、Session是什么 以下是本文参考的资料 欢迎大家查收原版 本版本仅作个人笔记使用
https://interviewguide.cn/notes/03-hunting_job/02-interview/03-02-net.html
21、HTTPS是如何保证数据传输的安全整体的流程是什么SSL是怎么工作保证安全
1客户端向服务器端发起SSL连接请求2 服务器把 公钥 发送给客户端并且服务器端保存着唯一的 私钥 3客户端用 公钥 对双方通信的对称秘钥进行加密并发送给服务器端4服务器利用自己唯一的 私钥 对客户端发来的对称秘钥进行解密5进行数据传输服务器和客户端双方用公有的相同的对称秘钥对数据进行加密解密可以保证在数据收发过程中的安全即是第三方获得数据包也无法对其进行加密解密和篡改。 因为数字签名、摘要是证书防伪非常关键的武器。 “摘要”就是对传输的内容通过hash算法计算出一段固定长度的串。然后通过发送方的私钥对这段摘要进行加密加密后得到的结果就是“数字签名” SSL/TLS协议的基本思路是采用公钥加密法也就是说客户端先向服务器端索要公钥然后用公钥加密信息服务器收到密文后用自己的私钥解密。 对称加密
在握手过程中协商出一个用于加密数据的对称密钥。在之后的通信过程中这个密钥将被用来加密和解密所有数据。由于对称加密算法可以提供高效的数据加密和解密因此在 HTTPS 中广泛使用的共同协议包括 AES、RC4 和 ChaCha20 等等。
非对称加密
在 SSL/TLS 协议的握手过程中通过公钥加密进行数据加密传输这个过程就称为非对称加密。非对称加密算法是一种公开密钥加密技术其中 Sender 将消息加密并发送到接收者 Receiver。只有 Receiver 可以使用其私钥解密消息并且 Sender 无法访问该私钥。常见的非对称加密算法包括 RSA、Diffie-Hellman 和椭圆曲线加密等等。
消息认证码 (MAC)
在握手过程中另一个重要的操作是生成消息认证码MAC用于检查消息的完整性和验证它们的真实性。MAC 是通过数据摘要和密钥生成的旨在防止未经授权的更改或篡改并验证该数据是从所述计算机到达的而不是第三方出现的恶意代码。
数字证书
SSL/TLS 协议还涉及数字证书。数字证书是由受信任的第三方认证机构CA颁发的在 SSL/TLS 握手期间用于验证身份。数字证书包含服务器“所有者”的信息这些信息通过基于公钥密码学的签名进行保护。客户端会对服务器的数字证书进行检查并使用它来验证服务器的身份是否存在问题。 22、如何保证公钥不被篡改
将公钥放在数字证书中。只要证书是可信的公钥就是可信的。 公钥加密计算量太大如何减少耗用的时间 每一次对话session客户端和服务器端都生成一个对话密钥session key用它来加密信息。由于对话密钥是对称加密所以运算速度非常快而服务器公钥只用于加密对话密钥本身这样就减少了加密运算的消耗时间。
1 客户端向服务器端索要并验证公钥。2 双方协商生成对话密钥。3 双方采用对话密钥进行加密通信。上面过程的前两步又称为握手阶段handshake。
23、HTTP请求和响应报文有哪些主要字段
请求报文
请求行Request Line 请求头Request Headers 请求体Request Body
响应报文
状态行Status Line 响应头Response Headers 响应体Response Body
24、Cookie是什么
HTTP 协议是无状态的主要是为了让 HTTP 协议尽可能简单使得它能够处理大量事务HTTP/1.1 引入 Cookie 来保存状态信息。
Cookie 是服务器发送到用户浏览器并保存在本地的一小块数据它会在浏览器之后向同一服务器再次发起请求时被携带上用于告知服务端两个请求是否来自同一浏览器。由于之后每次请求都会需要携带 Cookie 数据因此会带来额外的性能开销尤其是在移动环境下。
Cookie 曾一度用于客户端数据的存储因为当时并没有其它合适的存储办法而作为唯一的存储手段但现在随着现代浏览器开始支持各种各样的存储方式Cookie 渐渐被淘汰。
新的浏览器 API 已经允许开发者直接将数据存储到本地如使用 Web storage API本地存储和会话存储或 IndexedDB。
cookie 的出现是因为 HTTP 是无状态的一种协议换句话说服务器记不住你可能你每刷新一次网页就要重新输入一次账号密码进行登录。这显然是让人无法接受的cookie 的作用就好比服务器给你贴个标签然后你每次向服务器再发请求时服务器就能够 cookie 认出你。
抽象地概括一下一个 cookie 可以认为是一个「变量」形如 namevalue存储在浏览器一个 session 可以理解为一种数据结构多数情况是「映射」键值对存储在服务器上。
25、Cookie有什么用途
会话状态管理如用户登录状态、购物车、游戏分数或其它需要记录的信息个性化设置如用户自定义设置、主题等浏览器行为跟踪如跟踪分析用户行为等
26、Session知识大总结
除了可以将用户信息通过 Cookie 存储在用户浏览器中也可以利用 Session 存储在服务器端存储在服务器端的信息更加安全。
Session 可以存储在服务器上的文件、数据库或者内存中。也可以将 Session 存储在 Redis 这种内存型数据库中效率会更高。
使用 Session 维护用户登录状态的过程如下
用户进行登录时用户提交包含用户名和密码的表单放入 HTTP 请求报文中 服务器验证该用户名和密码如果正确则把用户信息存储到 Redis 中它在 Redis 中的 Key 称为 Session ID 服务器返回的响应报文的 Set-Cookie 首部字段包含了这个 Session ID客户端收到响应报文之后将该 Cookie 值存入浏览器中
客户端之后对同一个服务器进行请求时会包含该 Cookie 值服务器收到之后提取出 Session ID从 Redis 中取出用户信息继续之前的业务操作。 注意Session ID 的安全性问题不能让它被恶意攻击者轻易获取那么就不能产生一个容易被猜到的 Session ID 值。此外还需要经常重新生成 Session ID。在对安全性要求极高的场景下例如转账等操作除了使用 Session 管理用户状态之外还需要对用户进行重新验证比如重新输入密码或者使用短信验证码等方式。 27、Session 的工作原理是什么
session 的工作原理是客户端登录完成之后服务器会创建对应的 sessionsession 创建完之后会把 session 的 id 发送给客户端客户端再存储到浏览器中。这样客户端每次访问服务器时都会带着 sessionid服务器拿到 sessionid 之后在内存找到与之对应的 session 这样就可以正常工作了。
28、Cookie与Session的对比
HTTP作为无状态协议必然需要在某种方式保持连接状态。这里简要介绍一下Cookie和Session。
Cookie
Cookie是客户端保持状态的方法。
Cookie简单的理解就是存储由服务器发至客户端并由客户端保存的一段字符串。为了保持会话服务器可以在响应客户端请求时将Cookie字符串放在Set-Cookie下客户机收到Cookie之后保存这段字符串之后再请求时候带上Cookie就可以被识别。
除了上面提到的这些Cookie在客户端的保存形式可以有两种一种是会话Cookie一种是持久Cookie会话Cookie就是将服务器返回的Cookie字符串保持在内存中关闭浏览器之后自动销毁持久Cookie则是存储在客户端磁盘上其有效时间在服务器响应头中被指定在有效期内客户端再次请求服务器时都可以直接从本地取出。需要说明的是存储在磁盘中的Cookie是可以被多个浏览器代理所共享的。
Session
Session是服务器保持状态的方法。
首先需要明确的是Session保存在服务器上可以保存在数据库、文件或内存中每个用户有独立的Session用户在客户端上记录用户的操作。我们可以理解为每个用户有一个独一无二的Session ID作为Session文件的Hash键通过这个值可以锁定具体的Session结构的数据这个Session结构中存储了用户操作行为。
当服务器需要识别客户端时就需要结合Cookie了。每次HTTP请求的时候客户端都会发送相应的Cookie信息到服务端。实际上大多数的应用都是用Cookie来实现Session跟踪的第一次创建Session的时候服务端会在HTTP协议中告诉客户端需要在Cookie里面记录一个Session ID以后每次请求把这个会话ID发送到服务器我就知道你是谁了。如果客户端的浏览器禁用了Cookie会使用一种叫做URL重写的技术来进行会话跟踪即每次HTTP交互URL后面都会被附加上一个诸如sidxxxxx这样的参数服务端据此来识别用户这样就可以帮用户完成诸如用户名等信息自动填入的操作了。
29、SQL注入攻击了解吗
攻击者在HTTP请求中注入恶意的SQL代码服务器使用参数构建数据库SQL命令时恶意SQL被一起构造并在数据库中执行。 用户登录输入用户名 lianggzone密码 ‘ or ‘1’’1 如果此时使用参数构造的方式就会出现 select * from user where name ‘lianggzone’ and password ‘’ or ‘1’‘1’ 不管用户名和密码是什么内容使查询出来的用户列表不为空。如何防范SQL注入攻击使用预编译的PrepareStatement是必须的但是一般我们会从两个方面同时入手。
Web端
有效性检验。限制字符串输入的长度。
服务端
不用拼接SQL字符串。使用预编译的PrepareStatement。有效性检验。(为什么服务端还要做有效性检验第一准则外部都是不可信的防止攻击者绕过Web端请求)过滤SQL需要的参数中的特殊字符。比如单引号、双引号。
30、网络的七层模型与各自的功能图片版 31、什么是RARP工作原理
概括
反向地址转换协议网络层协议RARP与ARP工作方式相反。 RARP使只知道自己硬件地址的主机能够知道其IP地址。RARP发出要反向解释的物理地址并希望返回其IP地址应答包括能够提供所需信息的RARP服务器发出的IP地址。
原理 网络上的每台设备都会有一个独一无二的硬件地址通常是由设备厂商分配的MAC地址。主机从网卡上读取MAC地址然后在网络上发送一个RARP请求的广播数据包请求RARP服务器回复该主机的IP地址。 RARP服务器收到了RARP请求数据包为其分配IP地址并将RARP回应发送给主机。 PC1收到RARP回应后就使用得到的IP地址进行通讯。
32、端口有效范围是多少到多少
0-1023为知名端口号比如其中HTTP是80FTP是20数据端口、21控制端口
UDP和TCP报头使用两个字节存放端口号所以端口号的有效范围是从0到65535。动态端口的范围是从1024到65535 在16位的系统中1字word 2字节byte 16bit在32位的系统中1字word 4字节byte32bit 2的16次方65536 33、为何需要把 TCP/IP 协议栈分成 5 层或7层
答ARPANET 的研制经验表明对于复杂的计算机网络协议其结构应该是层次式的。
分层的好处
①隔层之间是独立的
②灵活性好
③结构上可以分隔开
④易于实现和维护
⑤能促进标准化工作。
34、DNS查询方式有哪些 递归解析
当局部DNS服务器自己不能回答客户机的DNS查询时它就需要向其他DNS服务器进行查询。此时有两种方式。局部DNS服务器自己负责向其他DNS服务器进行查询一般是先向该域名的根域服务器查询再由根域名服务器一级级向下查询。最后得到的查询结果返回给局部DNS服务器再由局部DNS服务器返回给客户端。
迭代解析
当局部DNS服务器自己不能回答客户机的DNS查询时也可以通过迭代查询的方式进行解析。局部DNS服务器不是自己向其他DNS服务器进行查询而是把能解析该域名的其他DNS服务器的IP地址返回给客户端DNS程序客户端DNS程序再继续向这些DNS服务器进行查询直到得到查询结果为止。也就是说迭代解析只是帮你找到相关的服务器而已而不会帮你去查。比如说baidu.com的服务器ip地址在192.168.4.5这里你自己去查吧本人比较忙只能帮你到这里了。 递归的意思是只需要发出一次请求就能得到相应的结果。比如主机-本地DNS、本地DNS-转发器都是递归查询。 迭代的意思是需要经过多次挨个查询才能得到相应的结果。比如转发器-根服务器、转发器http://-.com域服务器等都是迭代查询。 35、HTTP中缓存的私有和共有字段知道吗
private 指令规定了将资源作为私有缓存只能被单独用户使用一般存储在用户浏览器中。
Cache-Control: privatepublic 指令规定了将资源作为公共缓存可以被多个用户使用一般存储在代理服务器中。
Cache-Control: public36、GET 方法参数写法是固定的吗
在约定中我们的参数是写在 ? 后面用 分割。
我们知道解析报文的过程是通过获取 TCP 数据用正则等工具从数据中获取 Header 和 Body从而提取参数。
比如header请求头中添加token来验证用户是否登录等权限问题。
也就是说我们可以自己约定参数的写法只要服务端能够解释出来就行万变不离其宗。
37、GET 方法的长度限制是怎么回事
首先说明一点HTTP 协议没有 Body 和 URL 的长度限制对 URL 限制的大多是浏览器和服务器的原因。
浏览器原因就不说了服务器是因为处理长 URL 要消耗比较多的资源为了性能和安全防止恶意构造长 URL 来攻击考虑会给 URL 长度加限制。
38、POST 方法比 GET 方法安全
有人说POST 比 GET 安全因为数据在地址栏上不可见。
然而从传输的角度来说他们都是不安全的因为 HTTP 在网络上是明文传输的只要在网络节点上捉包就能完整地获取数据报文。
要想安全传输就只有加密也就是 HTTPS。
39、POST 方法会产生两个 TCP 数据包你了解吗
有些文章中提到POST 会将 header 和 body 分开发送先发送 header**服务端返回 100 状态码再发送 body。**
HTTP 协议中没有明确说明 POST 会产生两个 TCP 数据包而且实际测试(Chrome)发现header 和 body 不会分开发送。
所以header 和 body 分开发送是部分浏览器或框架的请求方法不属于 post 必然行为。
40、Session是什么
除了可以将用户信息通过 Cookie 存储在用户浏览器中也可以利用 Session 存储在服务器端存储在服务器端的信息更加安全。
Session 可以存储在服务器上的文件、数据库或者内存中。也可以将 Session 存储在 Redis 这种内存型数据库中效率会更高。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914834.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!