在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
HTTP相信大家都不陌生了,作为一种应用最为广泛的网络传输协议,它也常常出现在面试考题之中。本文汇总了目前比较常考的HTTP面试题,并整理好了所有HTTP面试题的答案,希望可以帮助到正在复习HTTP相关知识点的小伙伴~
1、HTTP和HTTPS的区别有哪些?
HTTP是一种超文本传输协议,HTTP是一个在计算机世界里专门在两点之间传输文字、图片、音频、视频等超文本数据的约定和规范。 HTTPS比 HTTP多了secure安全性这个概念,实际上, HTTPS并不是一个新的应用层协议,它其实就是HTTP + TLS/SSL协议组合而成,HTTPS可以说就是身披了一层SSL的HTTP。它们最大的区别就是HTTP 在地址栏上的协议是以 http:// 开头,而 HTTPS 在地址栏上的协议是以 https:// 开头。另外,HTTP是未经安全加密的协议,它的传输过程容易被攻击者监听、数据容易被窃取、发送方和接收方容易被伪造;而HTTPS是安全的协议,它通过 密钥交换算法 - 签名算法 - 对称加密算法 - 摘要算法 能够解决上面这些问题。还有,HTTP 的默认端口是80,而HTTPS的默认端口是443。
2、HTTP Get和Post区别是什么?
HTTP中包括许多方法,Get和Post是HTTP中最常用的两个方法。get方法一般用于请求,而post方法一般用于表单的提交。get相当于一个是pull/拉的操作,而post相当于是一个push/推的操作。get请求的URL有长度限制,而post请求会把参数和值放在消息体中,对数据长度没有要求。get请求会被浏览器主动cache,而post不会,除非手动设置。get请求在浏览器反复的回退/前进操作是无害的,而post操作会再次提交表单请求。
3、UDP是什么?
UDP是用户数据报协议。它不需要所谓的握手操作,从而加快了通信速度,允许网络上的其他主机在接收方同意通信之前进行数据传输。UDP 的特点主要有,能够支持容忍数据包丢失的带宽密集型应用程序,具有低延迟的特点,能够发送大量的数据包,能够允许DNS查找,DNS是建立在UDP之上的应用层协议。
4、TCP 是什么?
TCP是传输控制协议。它能够帮助你确定计算机连接到Internet以及它们之间的数据传输。通过三次握手来建立TCP连接,三次握手就是用来启动和确认TCP连接的过程。一旦连接建立后,就可以发送数据了,当数据传输完成后,会通过关闭虚拟电路来断开连接。
5、描述一下TCP 三次握手和四次挥手?
TCP 三次握手:SYN是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立TCP连接时,首先会发送的一个信号。客户端在接受到SYN消息时,就会在自己的段内生成一个随机值X。服务器收到SYN后,打开客户端连接,发送一个SYN-ACK作为答复。确认号设置为比接收到的序列号多一个,即X + 1,服务器为数据包选择的序列号是另一个随机数Y。最后,客户端将ACK发送给服务器,序列号被设置为所接收的确认值即Y + 1。
TCP 四次挥手:在连接终止阶段使用四次挥手,连接的每一端都会独立的终止。具体过程如图所示:
6、请你说一下HTTP常见的请求头
这个问题比较开放,因为 HTTP 请求头有很多,这里只简单举出一个例子。HTTP标头会分为四种,分别是 通用标头、实体标头、请求标头、响应标头。Cache-Control 是一个通用标头,他可以出现在请求标头和响应标头中,Cache-Control 的种类比较多,虽然说这是一个通用标头,但是有一些特性是请求标头具有的,有一些是响应标头才有的。主要大类有 可缓存性、阈值性、 重新验证并重新加载 和其他特性。
7、地址栏输入URL发生了什么?
下面我们就来探讨一下从输入URL后到响应,都经历了哪些过程。首先,你需要在浏览器中的URL地址上,输入你想访问的地址。然后,浏览器会根据你输入的URL地址,去查找域名是否被本地DNS缓存。在由根域名服务器 -> 顶级域名服务器 -> 权威DNS服务器后,由权威服务器告诉本地服务器目标IP地址,再有本地DNS服务器告诉用户需要访问的IP地址。
8、HTTPS的工作原理。
HTTPS的工作原理其实就是SSL/TLS的握手过程。在 TLS 握手期间,Internet 中的通信双方会彼此交换信息,验证密码套件,交换会话密钥。每当用户通过 HTTPS 导航到具体的网站并发送请求时,就会进行 TLS 握手。除此之外,每当其他任何通信使用HTTPS(包括 API 调用和在 HTTPS 上查询 DNS)时,也会发生 TLS 握手。TLS 具体的握手过程会根据所使用的密钥交换算法的类型和双方支持的密码套件而不同。我们以RSA 非对称加密来讨论这个过程。整个 TLS 通信流程图如下:
以上就是HTTP面试题汇总以及答案,大家都会做了吗?如果对于相关知识点还有疑问,欢迎大家报名博学谷的在线课程,将会有一对一讲师为大家提供就业服务。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
程序员常用的开发者工具有哪些?
从人工到自动化,从重复到创新,在技术演进的历程中伴随着开发者工具类产品的发展。本文总结了一些常用的开发者工具,希望以此帮助开发者们提高开发效率、更优雅的写代码。由于开发者涉及的技术领域众多,以后端开发者的视角盘点平时可能用得到的工具,介绍工具名称及使用场景。
3964
2021-05-18 11:19:41
程序员高薪的秘密:编程能力+编程思维
程序员高薪的秘密:编程能力+编程思维,能力是硬技能,思维是软技能,拥有编程思维的人,分析问题更缜密,处理问题更高效,减少很多不必要的重复性工作,使本职工作受益匪浅。
3310
2021-07-13 15:04:49
整洁代码有多重要,看了这个你就懂了
今天给大家普及一个法则,我们称之为勒布朗法则——稍后等于永不,先给大家讲一个跟开发有关的故事:
2425
2021-09-16 18:42:01
裁员风波不断职场人该怎么办?
裁员风波不断职场人该怎么办?近期裁员潮下,网友们本来早已司空见惯。这次则是因为京东和B站整了个花活,被裁叫「毕业」,离职指引叫「毕业须知」;并祝被裁员工毕业快乐。疫情反扑、监管趋严、股市动荡等诸多因素的作用下,企业生存越发艰难同时预期转弱,即便是大厂收缩战线、降本增效也在所难免。
2521
2022-04-01 10:24:11
程序员如何搞定技术面试---你的对手到底是谁
有许多朋友,面试失败几次就挫败了,开始自卑烦躁。其中的原因就是不知道面试的本质,没有充足的自信。 之前也有同学一直询问关于面试的问题,那今天就正好一起来分享一篇关于面试的内容吧!
1490
2022-09-23 11:07:04