首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
02-27 12:23
老板电器_软件开发(准入职员工)
柠檬微趣内推,柠檬微趣内推码
柠檬微趣一面1.自我介绍2.hashmap底层原理,是否是线程安全的3.不安全应该使用什么4.currenthashmap原理,线程不安全的情况 这块一致追问 答的不太好5.多个线程写一个日志文件,怎么保证并发安全(不太会)6.jvm内存结构7.垃圾回收 怎么确定回收哪些垃圾8.多线程使用场景9.常见的gcroots10.网络分层结构11.tcp和udp区别12.tcp概念问了一大堆13.https了解吗 具体说一下 也是说了一大堆14.mysql索引15.b+树 为什么不用红黑树 b+树的查询效率 推导一下总结:一直问,不会就想,偶尔会给一个反馈,没问实习,没问项目,纯纯八股🍋【柠檬微趣2...
点赞
评论
收藏
分享
昨天 21:35
东南大学 Java
浦发银行一面复盘
1、自我介绍2、对springboot常用注解有了解吗?3、谈谈对JVM元空间的认识4、JVM中垃圾回收中fullgc和metagc有什么区别,哪个耗时更长?5、工作中用到哪些设计模式?6、工厂模式和抽象工厂的区别?7、对投递的岗位有什么了解8、还有一个什么问题记不清了
查看7道真题和解析
点赞
评论
收藏
分享
02-27 12:12
北京邮电大学 Java
腾讯提前批-后台开发
腾讯提前批面试时间线:2.13投递腾讯提前批2.26收到了腾讯会议部门后台开发岗位面试通知想请问下大家这个部门面试常考哪些算法题啊,还有一个就是面试时长约的是半个小时,会不会是kpi面
StephenZ_:
半小时但是会自动延伸的,我三面也是半小时但是面了45min。不用担心kpi。可能就s3的kpi会多一点
点赞
评论
收藏
分享
02-25 18:21
门头沟学院 嵌入式软件开发
工作3个月心态转变
第一个月,误闯天家,觉得自己很废物,每天都是emo到谷底第二个月,好像自己会一点了但是工作的思路不对应该先完成需求,再掌握模块的整体框架,再学习整个项目第三个月 世界就是草台班子
肖先生~:
世界真的是个巨大的草台班子
点赞
评论
收藏
分享
02-28 19:47
黑龙江大学 Java
百度网盘测开一面
百度网盘测开一面 2025-12-23 1你能讲讲在实习公司具体做了哪些事情,以及学到了哪些技术栈吗? 2你学到的是整个软件的测试流程吗?你在里面只做后端开发是吧? 3大致介绍下项目的整体流程吗?你主要开发哪些部分呢? 4那你再详细介绍下 “云海到家” 这个项目吧。这个项目是你一个人做的吗?小程序的前端部分你没参与开发是吧? 5可以具体说说秒杀场景的技术选型吗? 6这个项目实现支付功能了吗?整个家政服务的订单状态机是什么样的? 7你能看到代码考核界面吗?题目是 “N 可以拆成不同的 3 的幂之和”,比如 3 的 0 次幂加 3 的 1 次幂、2 次幂这类不同幂数的组合。你可以测试下 91、21...
查看14道真题和解析
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
我做过的,被面试官夸爆的那些Ai项目(一)
1.6W
2
...
暑期实习 字节三面
7109
3
...
24届三本,广州跳槽至上海后惨遭裁员,这是我的现状
2363
4
...
大厂血泪史之试用期实用技巧
2117
5
...
3.2字节AI开发春招一面
1769
6
...
观妙科技 - Java开发 二面 面经
1767
7
...
实习中找暑期实习的几个问题
1553
8
...
腾讯一面面经
1553
9
...
AI时代,人还能做些什么呢?
1417
10
...
实习被学校催返校
1388
创作者周榜
更多
正在热议
更多
#
面试___岗的必刷题单
#
2156次浏览
39人参与
#
你今年的保底offer是哪家
#
171349次浏览
717人参与
#
神州信息求职进展汇总
#
1517次浏览
36人参与
#
春招开局,你有保底offer吗?
#
7271次浏览
65人参与
#
如果不上班,你会去做什么
#
33077次浏览
477人参与
#
实习生至暗时刻
#
2286次浏览
48人参与
#
应届生被毁约被毁意向了怎么办
#
58974次浏览
294人参与
#
硬件开发岗知多少
#
23986次浏览
138人参与
#
哪些公司开暑期实习了?
#
4206次浏览
37人参与
#
如果上班像打游戏,你最想解锁什么技能
#
26718次浏览
95人参与
#
AI面试问题分享
#
3462次浏览
78人参与
#
实习生的生存小技巧
#
2053次浏览
44人参与
#
你经历过哪些AI幻觉?
#
1514次浏览
35人参与
#
找AI工作应该卷什么?
#
1152次浏览
25人参与
#
三月的小目标
#
1993次浏览
49人参与
#
小厂一定不能去吗?
#
7010次浏览
86人参与
#
关于春招你都做了哪些准备?
#
130458次浏览
724人参与
#
你面试被问到过哪些不会的问题?
#
113529次浏览
1905人参与
#
作业帮求职进展汇总
#
102036次浏览
615人参与
#
非技术岗简历怎么写
#
299644次浏览
3224人参与
#
非技术岗薪资爆料
#
496899次浏览
3055人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务