首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
忙碌的嘟教授只想搞钱
哈尔滨信息工程学院 Web前端
发布于黑龙江
关注
已关注
取消关注
@阿珊和她的猫:
前端面试必备 | 计算机网络篇(P1-16)
文章目录 什么是HTTP?它的工作原理是什么?它的请求和响应内容是什么? HTTP和HTTPS有什么区别?如何实现HTTPS? 解释一下HTTP请求方法GET和POST的区别。 什么是Cookie?它在计算机网络中的作用是什么? 什么是Session?如何在前端实现基于Session的身份验证? 对称加密和非对称加密是什么,如何使用? 什么是TCP/IP协议?它在计算机网络中的作用是什么? 解释一下DNS是什么,它的作用是什么? 什么是RESTful API?它与传统的API有什么不同? 说一下OSI七层模型? TCP和UDP的区别是什么? 解释一下浏览器缓存,它的优点和使用场景是什么? 什么是CDN?它在前端性能优化中的作用是什么? 说下TCP三次握手,四次挥手? 浏览器输入网址后执行的过程? 说说你对计算机网络模型的理解 1. 什么是HTTP?它的工作原理是什么?它的请求和响应内容是什么? HTTP是超文本传输协议(Hypertext Transfer Protocol)的缩写,它是一种用于在Web上发送和接收超文本(如HTML)的应用层协议。 HTTP的工作原理是基于客户端-服务器模型。一般情况下,客户端是指用户使用的浏览器,服务器则是存储网站内容的远程主机。 下面是HTTP的基本工作流程: 客户端发起HTTP请求:浏览器向服务器发送HTTP请求,包括请求的资源路径、请求方法(如GET、POST等)和其他可选的请求头字段(如Cookie、User-Agent等)。 服务器处理请求:服务器接收到客户端请求后,根据请求的资源路径和方法进行处理,执行相应的逻辑操作。 服务器返回HTTP响应:服务器生成HTTP响应,包括响应状态码(如200表示成功,404表示资源未找到等),响应头字段(如Content-Type、Content-Length等)和响应体(即请求的资源内容)。 客户端处理响应:浏览器接收到服务器的HTTP响应后,根据响应内容进行相应的处理,如解析HTML、渲染页面等。 HTTP请求的内容包括请求行、请求头和请求体。 请求行包含请求方法、URL路径和HTTP协议版本。 请求头包含附加的信息,如请求的Host、User-Agent、Cookie等。 请求体则是一些需要在请求中携带的数据,例如在POST请求中传递的表单数据。 HTTP响应的内容包括响应行、响应头和响应体。响应行包含HTTP协议版本、响应状态码和相应的状态信息。响应头包含一些附加的信息,如响应的Content-Type、Content-Length等。响应体则是服务器返回的实际内容,如HTML文档、图片、视频等。 通过HTTP,客户端和服务器可以进行通信并交换超文本内容,实现了Web中的数据传输和交互。 2. HTTP和HTTPS有什么区别?如何实现HTTPS? HTTP(Hypertext Transfer Protocol)和HTTPS(Hypertext Transfer Protocol Secure)是用于在客户端和服务器之间传输数据的协议,它们有以下区别: 安全性:HTTP是明文传输协议,数据传输过程中不加密,因此存在安全风险。HTTPS通过使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)协议进行加密通信,确保数据在传输过程中的机密性和完整性,提供更高的安全性。 端口号:HTTP使用默认端口80进行通信,而HTTPS使用默认端口443。 证书验证:为了建立HTTPS连接,服务器需要使用SSL/TLS证书来验证其身份。客户端会验证该证书的有效性和可信度,确保与正确的服务器进行通信。这增加了对服务器身份的认证。 实现HTTPS的步骤如下: 生成和获取证书:需要通过证书颁发机构(CA)购买或获取SSL/TLS证书。证书中包含公钥和相关信息。你可以自己生成自签名证书进行测试,但浏览器会警告访问者证书不受信任。 配置服务器:服务器需要安装证书,并配置相应的加密套件和密码算法,在配置中指定使用HTTPS的端口号(通常是443)。 开启HTTPS:在服务器的配置文件中启用HTTPS协议(如Apache的配置文件httpd.conf或Nginx的配置文件nginx.conf),设置SSL/TLS证书的路径和配置参数。 重启服务器:在完成配置后,需要重启服务器以使更改生效。 实现HTTPS过程还涉及到数字证书的管理和维护,包括证书的更新和续期。此外,为了提供更高的安全性,可以配置HTTP到HTTPS的跳转,并实施其他安全措施,如HSTS(HTTP Strict Transport Security)。 请注意,HTTPS的实现可能略有不同,具体取决于你使用的服务器软件和配置方式。根据不同的服务提供商、服务器类型或工具,可以参考相关文档或指南来获取更详细的配置信息和步骤。 3. 解释一下HTTP请求方法GET和POST的区别。 HTTP请求方法GET和POST是两种常见的请求方法,它们在使用方式和作用上有一些区别。 GET请求: GET方法用于从服务器获取资源,通常用于请求获取页面、图片、文档等内容。 GET请求的参数会附加在URL的查询字符串中,并以键值对的形式传递,例如:http://example.com/resource?key1=value1&key2=value2。 GET请求具有幂等性,即多次发送相同的GET请求,不应对服务器产生副作用,只是获取相同的响应。 GET请求参数的长度有限制,不适合传递大量数据。 POST请求: POST方法用于向服务器提交数据,通常用于提交表单、上传文件等操作。 POST请求的参数会包含在请求体中,并以键值对的形式传递。参数不会直接暴露在URL中,因此相对于GET方法更安全。 POST请求可以传递大量数据,没有像GET方法的参数长度限制。 POST请求不具有幂等性,即多次发送相同的POST请求,可能对服务器产生副作用,例如重复提交订单。 总结: GET方法用于获取资源,参数附加在URL中,通常用于无副作用的读取操作。 POST方法用于提交数据,参数包含在请求体中,通常用于有副作用的写入操作。 GET方法适合获取少量数据,POST方法适合传递大量数据。 GET请求可以被缓存和收藏,POST请求一般不会被缓存。 需要根据具体的场景和需求选择适合的请求方法。 4. 什么是Cookie?它在计算机网络中的作用是什么? Cookie是计算机网络中的一种机制,用于在客户端和服务器之间存储和交换信息。它是由服务器发送给客户端的小型文本文件,在客户端的浏览器中存储,并在每次客户端向服务器发送请求时通过HTTP头部信息传递给服务器。 Cookie在计算机网络中的主要作用如下: 会话管理:Cookie常用于跟踪用户会话。当用户通过浏览器与服务器进行交互时,服务器可以创建一个唯一的标识符(称为会话ID)并将其存储在Cookie中。随后,浏览器在后续的请求中将Cookie自动包含在HTTP头部中,使服务器能够识别用户并维护与其关联的会话状态,如登录状态、购物车内容等。 状态保持:Cookie可以在客户端存储一些状态信息,在不同请求之间传递,以维持状态。例如,网站可以使用Cookie来记录用户的偏好设置或对用户进行个性化处理。 跟踪和分析:通过将唯一标识符(如用户ID)存储在Cookie中,服务器可以追踪和分析用户的行为和访问模式。这对于统计分析和广告跟踪等方面是有用的。 广告定向:许多广告平台使用Cookie来跟踪用户的兴趣和行为,并根据这些信息向用户推送相关的广告内容。 需要注意的是,Cookie是存储在客户端的文本文件,因此可以被篡改和删除。为了保护用户隐私和提高安全性,Web应用程序和浏览器都提供了对Cookie的一些控制和限制机制,如设置Cookie的有效期限、限制Cookie的访问范围、启用Secure标记来仅在HTTPS连接中传输Cookie等。 5. 什么是Session?如何在前端实现基于Session的身份验证? 在计算机网络中,Session(会话)是指客户端和服务器之间的一段交互时间。 它开始于客户端向服务器发送请求,并一直持续到服务器响应完成。 Session通常用于维护特定用户在一段时间内的状态和信息。 在前端实现基于Session的身份验证,通常的步骤如下: 登录验证:用户通过提供用户名和密码进行登录。前端将用户输入的凭据发送到服务器,服务器进行验证,如果验证通过,则生成一个唯一的会话标识符(Session ID)。 存储Session ID:服务器将生成的Session ID返回给前端,前端通常会将Session ID保存在Cookie中或使用其他方式存储,以便在后续的请求中发送给服务器。另外,还可以将Session ID存储在本地存储(如localStorage)或会话存储(如sessionStorage)中。 身份验证:在后续的请求中,前端需要将Session ID包含在每个请求中,通常通过将其作为Cookie的值发送。服务器接收到请求后,会通过验证Session ID来识别用户,并判断用户是否已经通过登录验证。 会话管理:服务器通过Session ID来获取与该用户关联的会话数据。会话数据可以存储在服务器的内存中、数据库中或缓存中,用于存储用户状态、权限信息等。服务器可以根据Session ID进行相关操作,如更新会话状态、获取用户信息等。 需要注意以下几点: 服务器端实现:在实现基于Session的身份验证时,还需要服务器端的支持。服务器需要在接收到请求时,解析Cookie中的Session ID,并对其进行验证和处理。 安全性考虑:为了增加安全性,建议使用HTTPS来传输Session ID,防止中间人攻击和信息篡改。此外,还需要适当设置Session的过期时间,并定期更新Session ID。 注销:为了注销Session和退出登录,需要在服务器端删除或失效Session数据,并在前端清除存储的Session ID。 安全漏洞:基于Session的身份验证需要处理一些常见的安全漏洞,如会话劫持和会话固定攻击。服务器端应采取适当的安全防护措施,如生成强大的Session ID、使用随机数种子、控制Cookie的安全标志等。 综上所述,基于Session的身份验证在前端通常涉及用户登录、Session ID的存储和传输,以及在后续请求中验证和管理会话数据。服务器端负责验证Session ID并提供相应的会话管理功能。 6. 对称加密和非对称加密是什么,如何使用? 对称加密和非对称加密是常见的加密算法,用于确保数据在传输或存储过程中的安全性。 对称加密: 对称加密使用相同的密钥(称为秘密密钥)进行加密和解密。 加密和解密的过程都使用同一个密钥,因此速度较快。 常见的对称加密算法有DES、AES等。 使用对称加密时,发送方和接收方需要事先共享同一个密钥。 非对称加密: 非对称加密使用一对密钥,分别称为公钥和私钥。 公钥用于加密数据,私钥用于解密数据。 使用公钥加密的数据只能通过对应的私钥进行解密。 常见的非对称加密算法有RSA、ECC等。 使用非对称加密时,发送方发布其公钥给接收方,接收方使用公钥加密数据后发送给发送方,发送方再使用私钥解密数据。 使用对称加密和非对称加密的一般步骤: 对称加密: 选择适当的对称加密算法和密钥长度。 生成密钥并共享给通信双方。 发送方使用共享的密钥对数据进行加密。 接收方使用共享的密钥对数据进行解密。 非对称加密: 接收方生成一对公钥和私钥。 发送方获取接收方的公钥。 发送方使用接收方的公钥对数据进行加密。 接收方使用私钥对数据进行解密。 对称加密适用于传输速度要求高、密钥共享方便的场景;而非对称加密适用于传输安全性要求高、密钥共享困难的场景。通常的做法是,使用非对称加密来安全地传输对称加密中所使用的密钥,以确保传输过程的安全性。 7. 什么是TCP/IP协议?它在计算机网络中的作用是什么? TCP/IP(Transmission Control Protocol/Internet Protocol)是一组网络通信协议,用于在计算机网络上进行可靠的数据传输和通信。它是互联网的基础协议套件,支持网络间的数据传输和互联网上的通信。 TCP/IP协议由两个主要协议组成: TCP(Transmission Control Protocol):TCP提供可靠的、面向连接的数据传输。它的主要功能是分割和重组数据,确认数据的完整性和可靠性,以及处理数据包在网络上的顺序。TCP通过建立连接、数据分段、错误检测和重传等机制,确保数据在源和目标之间可靠地传输。TCP适用于需要可靠性和顺序交付的应用,如网页浏览、文件传输和电子邮件等。 IP(Internet Protocol):IP是计算机网络中的主要协议,负责在网络上定位和传输数据包。它定义了数据包的格式、寻址方案和路由选择。IP协议的主要功能是将数据包从源主机路由到目标主机,实现网络的互联和跨网络通信。IP协议是无连接的,每个数据包独立处理,因此它的传输不保证数据包的可靠性、顺序和时延。 TCP/IP协议在计算机网络中扮演着重要的角色,具有以下作用: 路由和数据传输:TCP/IP协议套件提供了路由和数据传输功能,使得数据包能够在不同的网络和主机之间进行传输。它支持将数据包从源地址路由到目标地址,并确保数据的可靠性和顺序。 IP地址和寻址:TCP/IP使用IP地址作为网络中主机的唯一标识符。IP地址用于标识主机的位置和网络归属,使得数据包能够准确路由到目标主机。IP地址还支持分级的寻址方式,提供了灵活的网络划分和子网管理能力。 互联网标准:TCP/IP是互联网的基础协议套件,定义了互联网的基本通信协议和数据格式。它为互联网上的各种应用提供了统一的通信标准,使得不同计算机和操作系统之间能够进行交互和通信。
点赞 8
评论 2
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 16:36
已编辑
西安电子科技大学 Java
Java之Servlet学习笔记(更新中...)
Servlet是什么 Servlet是Server Applet的缩写,即“服务器端小程序”,是一种使用Java语言开发动态网站的技术。它可以接收客户端发送过来的请求,并响应数据给客户端。 Servlet具有以下特点: 1、Servlet提供了可被服务器动态加载并执行的程序代码,为来自客户端的请求提供服务; 2、Servlet完全使用Java语言编写,运行Servlet的服务器须支持Java语言; 3、Servlet是一种在服务器端运行的小程序,不依赖于浏览器,不管是浏览器是否支持Java语言,都能请求你方法服务器端的Servlet。 Servlet是一种规范 所有的 Servlet 功能都是...
点赞
评论
收藏
分享
02-28 19:53
已编辑
黑龙江大学 Java
字节crm后端二面
字节crm后端二面 2026-2-10 自我介绍 你介绍一个你最近做的项目,然后讲一下当时的背景,以及通过哪些技术方式去解决的哪些问题 你说可以通过 AI 的方式去识别卡牌,那这个 AI 识别卡牌的话怎么去确定卡牌信息呢? 你这里面用到那个 WebSocket,当时为什么去选择用 WebSocket 呢? 你这里面用到这个 Redis,看你这简历里面用到 Redis 的话,这个 Redis 主要是为了怎么解决什么样的场景呢? 基于 Canal 监听 binlog 的方式相比于缓存双删来说,它有什么缺点啊? 基于 Canal 监听 binlog 同步的时候,是不是读到的还是老的数据啊? 我看你...
查看23道真题和解析
点赞
评论
收藏
分享
02-25 22:58
已编辑
浙江理工大学 前端工程师
27 届前端简历求锐评
重新改了版简历打算开始投了 然鹅八股和 hot100还没开始背屏幕前的老铁们觉得我能找到暑期实习吗😇
点赞
评论
收藏
分享
01-26 19:51
门头沟学院 Java
字节约面。
标题党了 蚌…
isabener:
怎么感觉像群发的呢
点赞
评论
收藏
分享
02-25 17:00
realme_软件工程师(准入职员工)
禾赛科技内推,禾赛科技内推码
禾赛科技软件测试面经全程一个小时左右,需要写SQL和代码- 自我介绍- 项目提问- 项目里面的好友列表咋做数据库设计的- TCP四次挥手- python基本数据结构- 列表和数组的区别- 写SQL(用到分组、排序、聚合函数)- 写代码(输入一个数,各个位上两两交换位置,输出最大的数)全球激光雷达Top禾赛科技26届校招【企业介绍】全球领先的激光雷达研发与制造企业,全球激光雷达市占率No.1,美国纳斯达克上市。【开放岗位】商务类、产品类、项目管理类、销售类、系统类、芯片类、光学类、机械类、电子类、软件类、算法类、测试类、制造类【面向人群】毕业时间:2024.7-2025.12【工作地点】上海、杭...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
我做过的,被面试官夸爆的那些Ai项目(一)
1.6W
2
...
暑期实习 字节三面
6377
3
...
24届三本,广州跳槽至上海后惨遭裁员,这是我的现状
2537
4
...
大厂血泪史之试用期实用技巧
2182
5
...
3.2字节AI开发春招一面
2009
6
...
观妙科技 - Java开发 二面 面经
1879
7
...
实习中找暑期实习的几个问题
1674
8
...
腾讯一面面经
1626
9
...
实习被学校催返校
1348
10
...
AI时代,人还能做些什么呢?
1348
创作者周榜
更多
正在热议
更多
#
面试___岗的必刷题单
#
2179次浏览
39人参与
#
你今年的保底offer是哪家
#
171357次浏览
717人参与
#
神州信息求职进展汇总
#
1526次浏览
36人参与
#
春招开局,你有保底offer吗?
#
7316次浏览
66人参与
#
如果不上班,你会去做什么
#
33116次浏览
477人参与
#
实习生至暗时刻
#
2324次浏览
48人参与
#
应届生被毁约被毁意向了怎么办
#
58985次浏览
294人参与
#
硬件开发岗知多少
#
23992次浏览
138人参与
#
哪些公司开暑期实习了?
#
4236次浏览
37人参与
#
如果上班像打游戏,你最想解锁什么技能
#
26722次浏览
95人参与
#
AI面试问题分享
#
3491次浏览
78人参与
#
实习生的生存小技巧
#
2066次浏览
44人参与
#
你经历过哪些AI幻觉?
#
1536次浏览
35人参与
#
找AI工作应该卷什么?
#
1160次浏览
25人参与
#
三月的小目标
#
2003次浏览
49人参与
#
小厂一定不能去吗?
#
7071次浏览
86人参与
#
关于春招你都做了哪些准备?
#
130496次浏览
724人参与
#
你面试被问到过哪些不会的问题?
#
113539次浏览
1905人参与
#
作业帮求职进展汇总
#
102045次浏览
615人参与
#
非技术岗简历怎么写
#
299673次浏览
3224人参与
#
非技术岗薪资爆料
#
496954次浏览
3055人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务