版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HTTP高频面试题及详细答案(实战接地气版)1、简单说下HTTP是什么?有什么特点?参考答案:HTTP是超文本传输协议,是客户端和服务端之间传输网页、接口数据的应用层协议,也是互联网数据交互的基础协议。核心特点主要有这几点:无连接:默认一次请求完成后就断开连接,不会一直占用通道,HTTP1.1之后支持长连接,但本质还是无状态。无状态:协议本身不会记录用户的访问状态,每次请求都是独立的,服务端分不清两次请求是不是同一个用户,所以需要Cookie、Session、Token来维持状态。基于请求-响应模型:必须客户端主动发请求,服务端才会返回响应,服务端不能主动给客户端推送数据。简单灵活:基于文本格式,可读性高,支持传输文本、图片、视频、接口JSON等各类数据。2、HTTP和HTTPS的区别是什么?参考答案:HTTPS就是HTTP+SSL/TLS加密协议,核心区别集中在安全、端口、开销三个方面:端口不同:HTTP默认80端口,HTTPS默认443端口。安全性不同:HTTP是明文传输,数据直接暴露,容易被窃听、篡改、劫持;HTTPS对传输数据加密,传输过程无法被窃取和篡改,还能校验服务端身份,防止伪造网站。性能开销不同:HTTPS需要握手、加密、解密流程,比HTTP多一部分耗时和资源消耗,现在优化后差距已经很小。证书要求不同:HTTP无需证书;HTTPS需要配置CA数字证书。简单总结:HTTP快但不安全,HTTPS更安全,是现在网站和接口的主流方案。3、HTTP1.0、HTTP1.1、HTTP2.0的区别?参考答案:HTTP1.0短连接为主,一次请求响应后直接断开,浏览器请求多个资源需要多次建立连接,开销很大,不支持断点续传,缓存机制也比较简陋。HTTP1.1(目前最通用)默认支持长连接(Keep-Alive),一次连接可以传输多个请求响应,不用反复握手断开。支持管道化请求、断点续传、分块传输。完善了缓存策略,新增ETag、Cache-Control等字段。缺点:存在队头阻塞,同一个连接里前面的请求没完成,后面的请求都要等着。HTTP2.0基于二进制帧传输,不再是文本格式,解析更快、错误率更低。多路复用:一个连接同时并行处理多个请求,彻底解决队头阻塞问题。支持头部压缩,减少请求头冗余数据,提升传输速度。支持服务端主动推送资源,提前推送页面需要的静态文件。4、GET和POST区别?面试常问重点参考答案:日常面试不用记冷门知识点,记住核心实战区别即可:参数位置不同:GET参数拼在URL地址栏里;POST参数放在请求体里。长度限制不同:GET受浏览器、服务器URL长度限制,不能传大量数据;POST无硬性长度限制,适合传表单、文件、大量JSON数据。缓存机制不同:GET请求默认会被浏览器缓存,重复访问地址会读取缓存;POST默认不会缓存。安全性不同:GET参数暴露在地址栏和历史记录,不安全;POST参数隐藏在请求体,相对更安全。语义不同:GET用于查询数据,只读操作,不修改服务端数据;POST用于提交数据,新增、修改、提交表单等操作。书签/历史记录:GET可收藏为书签,POST不行。补充误区:很多人说POST比GET安全,其实不准确,二者都可被抓包,POST只是不显性暴露参数,真正的安全还是要靠HTTPS。5、常见HTTP请求头有哪些?作用是什么?参考答案:Host:指定请求的域名和端口,服务端用来区分同一服务器下的多个站点。User-Agent:标识客户端信息,比如浏览器类型、系统版本,服务端用来做适配、统计访客信息。Referer:记录当前请求的来源页面,可用于防盗链、流量统计。Content-Type:告诉服务端请求体的数据格式,比如application/json、form-data、text/html。Accept:客户端告诉服务端自己能接收的数据格式。Cookie:客户端携带本地缓存的用户信息,用于维持登录状态。Authorization:接口鉴权用,携带Token、令牌等认证信息。Cache-Control:控制本次请求的缓存策略。6、常见HTTP响应头有哪些?参考答案:Server:标识服务端的服务器软件版本。Content-Type:告诉客户端返回数据的格式和编码。Set-Cookie:服务端向客户端写入Cookie,用于后续状态维持。Location:跳转地址,301、302重定向时使用。Cache-Control/ETag/Last-Modified:用于资源缓存控制。Access-Control-*:跨域响应头,解决浏览器跨域拦截问题。7、HTTP缓存机制讲一下(强缓存、协商缓存)参考答案:HTTP缓存是为了减少重复请求、加快页面加载速度,分为强缓存和协商缓存,优先级:强缓存>协商缓存。1)强缓存客户端不发任何请求到服务端,直接读取本地缓存,返回200(fromcache)。控制字段:Cache-Control(max-age=xxx):优先级最高,设置缓存过期时间。Expires:旧版字段,指定绝对过期时间,受客户端时间影响,不准确。2)协商缓存强缓存失效后,客户端带着缓存标识请求服务端,服务端判断资源是否更新:资源没更新:返回304,客户端继续用本地缓存。资源已更新:返回200和新资源,客户端更新缓存。控制字段:Last-Modified/If-Modified-Since:根据文件修改时间判断。ETag/If-None-Match:根据资源唯一指纹判断,精度更高,优先级高于时间缓存。8、301、302、304、200、404、500等常见状态码含义参考答案:2xx成功200OK:请求成功,数据正常返回。201Created:资源创建成功,常用于新增接口。3xx重定向/缓存301永久重定向:地址永久变更,浏览器会缓存新地址,SEO权重转移。302临时重定向:临时跳转,不缓存,下次请求仍走原地址。304资源未修改:走协商缓存,无需重新下载资源。4xx客户端错误400BadRequest:请求参数错误、格式错误,服务端无法解析。401Unauthorized:未登录、未授权,需要身份验证。403Forbidden:权限不足,登录了也没有访问资格。404NotFound:请求的接口、页面地址不存在。405MethodNotAllowed:请求方式不支持,比如接口只支持POST,客户端用了GET。5xx服务端错误500InternalServerError:服务端代码异常、逻辑报错。502BadGateway:网关/反向代理收到了无效响应,一般是后端服务挂了。503ServiceUnavailable:服务不可用、超载、停机维护。9、什么是跨域?HTTP为什么会有跨域?怎么解决?参考答案:跨域是浏览器的同源策略限制,当协议、域名、端口任意一个不同,就属于跨域请求。同源策略是浏览器的安全机制,防止恶意网站读取其他网站的数据,保护用户信息安全。常见解决方式:服务端CORS:后端配置跨域响应头,最主流、最规范的方案。代理转发:前端本地代理、Nginx反向代理,同源访问代理服务器,再由代理请求后端。JSONP:只支持GET请求,兼容性好,现在基本淘汰。10、HTTPS握手过程是怎样的?(TLS握手)参考答案:面试不用背复杂流程,说清核心四步即可:客户端发起请求:客户端携带支持的加密套件、TLS版本,发起握手请求。服务端回应:服务端确认加密套件、返回服务器证书、公钥。客户端校验证书+生成密钥:客户端验证证书合法性,验证通过后生成随机密钥,用服务端公钥加密后发送给服务端。双方加密通信:服务端用私钥解密得到随机密钥,后续所有数据都通过该密钥对称加密传输,握手完成。核心逻辑:非对称加密协商密钥,对称加密传输数据,兼顾安全和速度。11、Cookie、Session、Token的区别和联系参考答案:Cookie:存在客户端浏览器的小型文本数据,由服务端下发,浏览器自动携带,容量小、不安全、可被篡改,用于存储简单状态信息。Session:存在服务端的用户会话数据,依赖Cookie存储SessionID,用来识别用户登录状态,服务器压力大,不适合分布式系统。Token:客户端存储的身份令牌,登录成功后服务端生成并返回,后续请求手动携带,无需服务端存储,适合前后端分离、分布式项目,安全性更高。简单演进:Cookie存状态→Session解决Cookie不安全→Token解决Session服务端压力和跨域、分布式问题。12、HTTP长连接和短连接区别?参考答案:短连接:一次请求响应完成后立刻断开连接,每次请求都要重新建立TCP连接,开销大,适合一次性、低频访问场景。长连接(Keep-Alive):连接建立后持续一段时间,同一个连接可以多次传输请求响应,不用反复握手,减少耗时和资源消耗,适合网页、接口高频请求场景。长连接不会永久保持,服务端会设置超时时间,空闲一段时间后自动断开,避免资源占用。13、什么是请求预检(OPTIONS请求)?参考答案:浏览器在发送非简单跨域请求(带自定义请求头、Content-Type为json等)之前,会先自动发送一次OPTIONS预检请求。目的是询问服务端:当前域名、请求方式、请求头是否被允许跨域。服务端返回允许跨域的配置后,浏览器才会发送真正的业务请求;预检失败则直接拦截请求。简单说:OPTIONS就是跨域请求的“权限试探请求”。14、HTTP队头阻塞是什么?怎么解决?参考答案:HTTP1.1的长连接中,所有请求串行执行,如果队列中前面一个请求响应很慢、卡住,后面所有请求都必须排队等待,这个现象就是队头阻塞。解决方案:客户端开启多域名、多并发连接(治标不治本)。升级HTTP2.0,通过多路复用彻底解决。15、简单说下HTTP完整请求流程参考答案:1.DNS解析:把域名解析为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026事业单位笔试-江苏-江苏妇幼保健学(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-新疆-新疆中医内科学(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-广东-广东病理技术(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-宁夏-宁夏儿科学(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-四川-四川西医临床(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-吉林-吉林口腔科(医疗招聘)历年参考题库含答案详解
- 2026事业单位笔试-云南-云南放射医学(医疗招聘)历年参考题库含答案详解
- 2026装饰装修材料行业设计创新与市场需求分析研究
- (正式版)DB15∕T 3283-2023 《公路坡面生态防护质量检验评定》
- 2026重型机械设备制造供需结构出口竞争市场发展政策影响分析
- 护理中保护患者隐私
- 对外汉语词汇教学教案(2025-2026学年)
- -心理健康四年级下册《6 同伴交往有分寸》 教学设计+教学设计(教科版)
- 矿山地质课件
- 感染性疾病科医生进修汇报
- 泥浆清运合同(2025版)
- 睿达杯二试试题和答案
- 再别康桥混声四部合唱谱
- 内部工作流程优化调研表
- 《四川省汉源县岩窝沟铅锌、磷矿勘探实施方案》评审意见书
- 高中技术苏教必修1课件51方案的构思方法――手机支架的设计和制作共18张
评论
0/150
提交评论