IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络面试知识点(二) -> 正文阅读

[网络协议]计算机网络面试知识点(二)

计算机网络面试知识点(二)

总结一下计算机网络面试知识点,仅供个人学习。



前言

上一篇总结了一下计算机网络的基础知识点,这篇再对计算机网络一些面试知识点进行记录归纳。



一、HTTP无状态如何保存用户信息?

1、HTTP协议无状态协议

上一篇中提到HTTP需要注意的三个地方其中一个就包括HTTP是无状态协议的。

HTTP协议是无状态协议无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

2、解决方案

(1)基于Session实现的会话保持:

请求之后,服务器分配一个会话标识(SessionId)给客户端,这个会话标识一般保存在客户端Cookie中,以后每次浏览器发送http请求都会带上Cookie中的SessionId到服务器,服务器拿到会话标识就可以把之前存储在服务器端的状态信息与会话联系起来,实现会话保持(如果遇到浏览器禁用Cookie的情况,则可以通过url重写的方式将会话标识放在url的参数里,也可实现会话保持。

(2)基于Cookie实现的会话保持

基于Cookie实现会话保持与上述基于Session实现会话保持的最主要区别是前者完全将会话状态信息存储在浏览器Cookie中,这样一来每次浏览器发送HTTP请求的时候都会带上状态信息,因此也就可以实现状态保持。

3、cookie和session

①cookie数据存放在客户的浏览器上,session数据放在服务器上。②cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。③单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie④cookie只能存储string对象,session存储任意⑤session消耗服务器资源,cookie不会⑥cookie可以设置过期时间。Session可以销毁对话。

Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中。
Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。


二、GET和POST的区别

GETPOST
请求数据附加在URL之后,以?分割URL和传输数据,多个参数用&连接请求的数据放置在HTTP请求包的包体中
请求数据会暴露在地址栏中(账号,密码)请求数据不会暴露(在请求包中)
特定的浏览器和服务器对URL的长度有限制POST请求理论上是不会受限制的
安全性较低(浏览器缓存,历史记录等)安全性比较高(参数不会被保留)
get在浏览器回退时是无害的post会再次请求
get产生一个TCP数据包post产生两个tcp包
get多用于获取post多用于发送

三、浏览器输入URL的过程

第一步:浏览器查找自己的DNS 缓存,如果有直接返回 。

第二步:操作系统查找自己的DNS缓存,如果有直接返回给浏览器。

第三步:操作系统查找自己的本地host文件,如果有返回给浏览器。

第四步:操作系统向本地域名服务器发起请求,查找本地DNS缓存,如果有,返回给操作系统,然后操作系统返回给浏览器。

第五步:操作系统由根域名服务器向顶级域名服务器发起请求得到权限域名服务器的IP,(顶级域名服务器再向权限域名服务器发起请求得到IP,本地域名服务器返回给操作系统IP),同时将IP缓存起来,操作系统将IP返回给浏览器,同时将IP缓存起来。

第六步:根据IP建立TCP连接(三次握手),连接建立成功发起http请求,服务器给出响应,将指定文件发送给浏览器,浏览器解析HTML代码并请求html中的静态资源(js,css),关闭TCP连接(四次挥手)。

第七步:浏览器渲染页面。


四、HTTP与HTTPS

HTTPS

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。

SSL

SSL(Secure Socket Layer,安全套接字层):1994年为 Netscape 所研发,SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。

1、为什么要用HTTPS?

一般http中存在如下问题:

(1)请求信息明文传输,容易被窃听截取。
(2)数据的完整性未校验,容易被篡改
(3)没有验证对方身份,存在冒充危险

为了解决上述HTTP存在的问题,就用到了HTTPS。

2、HTTPS的工作原理

在这里插入图片描述
(1)首先客户端通过URL访问服务器建立SSL连接。
(2)服务端收到客户端请求后,会将网站支持的证书信息(证书中包含公钥)传送一份给客户端。
(3)客户端的服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
(4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
(5)服务器利用自己的私钥解密出会话密钥。
(6)服务器利用会话密钥加密与客户端之间的通信。

3、HTTPS缺点

(1)HTTPS协议多次握手,导致页面的加载时间延长近50%;

(2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗;

(3)申请SSL证书需要钱,功能越强大的证书费用越高。

(4)SSL涉及到的安全算法会消耗 CPU 资源,对服务器资源消耗较大。

4、HTTPS和HTTP的区别

HTTPS和HTTP的区别主要如下:

1、https协议需要申请SSL证书。

2、http的协议传输信息是明文,不安全。https则是具有安全性的ssl加密传输协议。

3、http和https连接方式不同,端口也不一样,http是80,https是443。

4、http的连接很简单,是无状态的;https协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。


总结

本文主要记录了HTTP相关的知识点,还有面试时遇到过的几个高频问题,当然还有很多其他重点东西没有总结到,比如三次握手、四次挥手这些原理过程等,先留到下一篇吧。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:51:11  更:2021-07-13 17:51:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:22:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码