在线客服
扫描二维码
下载博学谷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面试题汇总以及答案,大家都会做了吗?如果对于相关知识点还有疑问,欢迎大家报名博学谷的在线课程,将会有一对一讲师为大家提供就业服务。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
常见面试题汇总附回答提示 工作岗位篇
又到了大批求职者面试的这个时候,小编特地汇总了常见面试题和对应的回答提示。本篇面试题都是关于HR对大家应聘岗位的提问,希望能够加深大家对将应聘的工作岗位的理解。
9244
2019-08-07 19:28:36
参加IT编程培训有学历要求和限制吗?
参加IT编程培训有学历要求和限制吗?问这类问题的小伙伴一定是对IT培训有什么误解,毕竟对于低学历的学习者来讲,培训就是技能提升的最佳渠道,所以不会对大家的学历有所限制。但是肯定又会有人想问,参加IT编程培训需要什么基础?比如说要数学好,擅长英语什么的。真的是这样吗?学习IT编程真的存在一些高门槛吗?
7137
2019-10-10 15:50:56
程序员必备的核心基础知识是什么?
随着中国互联网技术的发展,许多IT技术从业者常常会被不断迭代的新技术弄得无比焦虑,往往这个还没学会,就又有新的技术出来了,似乎学习的进度永远跟不上技术发展的脚步。其实不论新技术如何更替,掌握一些核心基础知识才是程序员安身立命的根本。那么,程序员必备的核心基础知识是什么呢?
7208
2020-07-22 11:12:31
Git常用命令清单,速查表
Git目前已经是国内最常见的代码管理工具之一;无论新手还是经验丰富的大佬,都需要有一套自己的Git命令字典,方便随时使用。
4503
2021-07-08 15:17:35
日常工作中程序员最讨厌哪些工作事项?
任何工作都有好和坏的一面,每个领域和职业都有它的优点和缺点,大多数时候人们只谈论优点而忽视了缺点,有时候缺点都超过其优点。
4294
2022-06-24 10:27:46
