在线客服
扫描二维码
下载博学谷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面试题汇总以及答案,大家都会做了吗?如果对于相关知识点还有疑问,欢迎大家报名博学谷的在线课程,将会有一对一讲师为大家提供就业服务。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
成功程序员的3个标准
同样是程序员,甚至同样的工作环境,为什么会在工作几年之后产生那么大的变化呢?有朋友告诉小编是因为二八理论的问题,一个人的成就在于他20%的业余时间在做什么。很有道理,不过这也仅仅是其中的一个方面。其实每一个成功的程序员基本都符合3个标准:兴趣驱动、学习习惯、思考方式。
10361
2019-08-08 10:23:20
做编程真的需要掌握多种语言吗?
之前就有人讨论过,是否做编程需要掌握多种编程语言呢?很多人各执一词,都有道理。从职业发展的宽度和深度来说,掌握多种编程语言,可能更好的适应企业的发展需要。从而发挥更加重要的作用。而精专主攻一门语言,做到深度学习,成为该领域的专业是不错的发展。下面分享一下两个观点支持者的意见吧。
11184
2019-08-08 12:00:39
2020年2月IT编程语言排行榜名单有哪些变化?
2020年2月份TIOBE公布了IT行业编程语言排行,排名Top4的IT编程语言的排名没有太大变化,Java依旧稳居榜首,其次分别是C、Python、C++。IT编程语言排行前五名是 Java、C、Python、C++ 和 Visual Basic.NET。Python稳坐前三,Visual Basic.NET迅猛增长。
6760
2020-02-11 15:21:32
北京IT程序员工资一般多少?
北上广是IT程序员的主要聚集地,北京的程序员就占据了全国的23.55%。北京有经验的程序员目前的平均薪资达到了14k以上,北京程序员整体的平均月薪在12k左右。作为一名IT程序员要常充电,提升自身的专业技能,薪资会随着个人专业水平和经验上涨。
19350
2020-03-18 10:55:35
程序员如何搞定技术面试---你的对手到底是谁
有许多朋友,面试失败几次就挫败了,开始自卑烦躁。其中的原因就是不知道面试的本质,没有充足的自信。 之前也有同学一直询问关于面试的问题,那今天就正好一起来分享一篇关于面试的内容吧!
2738
2022-09-23 11:07:04
