【计算机网络】| Http.*协议该知道的那些事儿 | 面经

本文章参考了很多文档文献整理成狮子自己喜欢的风格类型文字,主要有:
《图解网络-小林coding》、Github上面的《前端语音社群》,ChatGpt 3.5
大家有兴趣可以去找来看看,一起上岸!!!

目录

  • 面试官:什么是HTTP?
  • 面试官:说说 HTTP1.0/1.1/2.0 的区别?
  • 面试官:说说 HTTP 常见的请求头有哪些? 作用?
  • 面试官:说说HTTP 常见的状态码有哪些,适用场景?
    • 1xx
    • 2xx
    • 3xx
    • 4xx
    • 5xx
  • 面试官:HTTP 和 HTTPS 的区别?
  • 面试官:HTTPS 解决了 HTTP 的哪些问题?
  • 面试官:HTTPS 是如何建⽴连接的?其间交互了什么?
  • 面试官:说⼀下 GET 和 POST 的区别?

面试官:什么是HTTP?

主要抓住三方面:超文本 传输 协议

HTTP 协议是⼀个双向协议(两点之间)

eg:

浏览器是请求⽅ A ,百度⽹站就是应答⽅ B。双⽅约定⽤ HTTP 协议来通信,于是浏览器把请求数据发送给⽹站,⽹站再把⼀些数据返回给浏览器,最后由浏览器渲染在屏幕,就可以看到图⽚、视频了。

A——>B

A<——B 两点之间可以有很多个过程,但是这个过程中也得遵循Http协议

image-20230518094654769

答:超文本传输协议。是一个在网络世界里面专门在两点之间传输文字、图片、视频、音频等超文本数据约定和规范

面试官:说说 HTTP1.0/1.1/2.0 的区别?

答:

Http协议是基于TCP/IP协议的形式,

Http/1.0: 采用的是短连接并且是串行请求,这样客户端每次发送一个请求就需要建立一次TCP连接(三次握手),并且串行请求会进行很多无谓的TCP连接和断开,这样就造成了很大的通信负担。

Http/1.1:为了改善上述问题,Http/1.1采用了长连接的通信方式,也叫持久连接,即TCP连接默认不关闭,可以被多个请求复用,这样就有效减少了TCP的重复连接与断开造成的额外负担

Http/2.0:相比于前两个版本,Http/2.0性能上进行了很大的提升。

首先,采用二进制格式而非文本格式,解析起来更高效

其次它采用完全多路复用而非有序并阻塞的、只需一个连接即可实现并行;

还能进行服务器推送,允许服务端推送资源给客户端

面试官:说说 HTTP 常见的请求头有哪些? 作用?

HTTP头字段(HTTP header fields),是指在超文本传输协议(HTTP)的请求和响应消息中的消息头部分它们定义了一个超文本传输协议事务中的操作参数。

字段名说明示例
Accept能够接受的回应内容类型(Content-Types)Accept: text/plain
Accept-Charset能够接受的字符集Accept-Charset: utf-8
Accept-Language能够接受的回应内容的自然语言列表Accept-Language: en-US
Cache-Control用来指定在这次的请求/响应链中的所有缓存机制 都必须 遵守的指令Cache-Control: no-cache
Connection该浏览器想要优先使用的连接类型Connection: keep-alive Connection: Upgrade
Cookie服务器通过 Set- Cookie (下文详述)发送的一个 超文本传输协议CookieCookie: $Version=1; Skin=new;
Content-Length以 八位字节数组 (8位的字节)表示的请求体的长度Content-Length: 348
Content-Type请求体的 多媒体类型Content-Type: application/x-www-form-urlencoded
Host服务器的域名(用于虚拟主机 ),以及服务器所监听的传输控制协议端口号Host: en.wikipedia.org:80 Host: en.wikipedia.org

面试官:说说HTTP 常见的状态码有哪些,适用场景?

1xx

代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态行和某些可选的响应头信息,并以空行结束

常见的有:

  • 100(客户端继续发送请求,这是临时响应):这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。服务器必须在请求完成后向客户端发送一个最终响应
  • 101:服务器根据客户端的请求切换协议,主要用于websocket或http2升级

2xx

代表请求已成功被服务器接收、理解、并接受

常见的有:

  • 200(成功):请求已成功,请求所希望的响应头或数据体将随此响应返回
  • 201(已创建):请求成功并且服务器创建了新的资源
  • 202(已创建):服务器已经接收请求,但尚未处理
  • 203(非授权信息):服务器已成功处理请求,但返回的信息可能来自另一来源
  • 204(无内容):服务器成功处理请求,但没有返回任何内容
  • 205(重置内容):服务器成功处理请求,但没有返回任何内容
  • 206(部分内容):服务器成功处理了部分请求

3xx

表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向

常见的有:

  • 300(多种选择):针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择
  • 301(永久移动):请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置
  • 302(临时移动): 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求
  • 303(查看其他位置):请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码
  • 305 (使用代理): 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理
  • 307 (临时重定向): 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求

4xx

代表了客户端看起来可能发生了错误,妨碍了服务器的处理

常见的有:

  • 400(错误请求): 服务器不理解请求的语法
  • 401(未授权): 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
  • 403(禁止): 服务器拒绝请求
  • 404(未找到): 服务器找不到请求的网页
  • 405(方法禁用): 禁用请求中指定的方法
  • 406(不接受): 无法使用请求的内容特性响应请求的网页
  • 407(需要代理授权): 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理
  • 408(请求超时): 服务器等候请求时发生超时

5xx

表示服务器无法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状态发生

常见的有:

  • 500(服务器内部错误):服务器遇到错误,无法完成请求
  • 501(尚未实施):服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码
  • 502(错误网关): 服务器作为网关或代理,从上游服务器收到无效响应
  • 503(服务不可用): 服务器目前无法使用(由于超载或停机维护)
  • 504(网关超时): 服务器作为网关或代理,但是没有及时从上游服务器收到请求
  • 505(HTTP 版本不受支持): 服务器不支持请求中所用的 HTTP 协议版本

面试官:HTTP 和 HTTPS 的区别?

Https协议 = Http协议 + SSL/TLS 安全协议

  1. 因为Http协议传输的超文本信息是明文传输,存在安全风险问题;Https则解决了Http不安全的缺陷,在TCP和HTTP网络层之间加入了SSL/TLS安全协议,使得报文能够加密传输。
  2. 交互方式不同,HTTP 连接建⽴相对简单, TCP 三次握⼿之后便可进⾏ HTTP 的报⽂传输。⽽ HTTPS 在 TCP 三次握⼿之后,还需进⾏ SSL/TLS 的握⼿过程,才可进⼊加密报⽂传输。
  3. 端口号不同,Http默认端口号为80,而Https默认端口号为443。
  4. Https协议需要向CA申请数字证书,来保证服务器的身份是可信的。

面试官:HTTPS 解决了 HTTP 的哪些问题?

  1. 窃听⻛险,Http协议仅支持明文传输,所有信息都暴露在大众眼球,信息很容易被窃听,⽐如通信链路上可以获取通信内容,⽤户号容易没。

  2. 篡改⻛险,⽐如强制植⼊垃圾⼴告,视觉污染

  3. 冒充⻛险,⽐如冒充淘宝⽹站,⽤户钱容易没。

对应解决方案:

  1. 信息加密:交互信息⽆法被窃取。

  2. 校验机制:⽆法篡改通信内容,篡改了就不能正常显示。

  3. 身份证书:证明淘宝是真的淘宝⽹。

image-20230518110632963

面试官:HTTPS 是如何建⽴连接的?其间交互了什么?

  1. 客户端向服务端发送连接请求,包括支持的加密算法、协议版本等信息。
  2. 服务端回应客户端请求,确认使用的加密算法、协议版本等信息。
  3. 服务端将自己的公钥证书发送给客户端,客户端验证证书的合法性,并提取出服务端的公钥。
  4. 客户端生成随机数,使用服务端的公钥对该随机数进行加密,然后将加密后的随机数发送给服务端。
  5. 服务端使用自己的私钥对加密后的随机数进行解密,得到客户端随机数,然后生成一个新的随机数作为会话密钥。
  6. 客户端和服务端分别使用会话密钥加密和解密数据,确保通信过程中数据的安全性和完整性。

面试官:说⼀下 GET 和 POST 的区别?

Get ⽅法的含义是请求从服务器获取资源,这个资源可以是静态的⽂本、⻚⾯、图⽚视频等

eg: 你打开我的⽂章,浏览器就会发送 GET 请求给服务器,服务器就会返回⽂章的所有⽂字及资源。

image-20230518135905555

POST ⽅法则是相反操作,它向 URI 指定的资源提交数据,数据就放在报⽂的 body ⾥。

eg: 你在我⽂章底部,敲⼊了留⾔后点击「提交」(暗示你们留⾔),浏览器就会执⾏⼀次 POST 请求,把你的留⾔⽂字放进了报⽂ body ⾥,然后拼接好 POST 请求头,通过 TCP 协议发送给服务器。

image-20230518140128304

tips:安全和幂等性的概念

在 HTTP 协议⾥,所谓的安全是指请求⽅法不会「破坏」服务器上的资源

所谓的「幂等」,意思是多次执⾏相同的操作,结果都是「相同」的。

那么很明显 GET ⽅法就是安全且幂等的,因为它是「只读」操作,⽆论操作多少次,服务器上的数据都是安全的,且每次的结果都是相同的。

POST 因为是「新增或提交数据」的操作,会修改服务器上的资源,所以是不安全的,且多次提交数据就会创建多个资源,所以不是幂等的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/59884.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT-3问答机器人实战【LangChain】

原文&#xff1a;https://www.toutiao.com/article/7211527561673867779/?log_frome0e756d2bfaf5_1683079005521 ChatGPT 几个月前问世&#xff0c;并以其回答来自广泛知识集的问题的能力震惊了所有人。 在 ChatGPT 展示大型语言模型的强大功能时&#xff0c;Dagster 核心团队…

三秒钟,我要拿到世界杯所有队伍阵容信息

文章目录 &#x1f550;Im coming~&#x1f551;我写了个啥&#xff1f;&#x1f554;咋写的&#xff1f;&#x1f558;代码供上&#x1f55b; See you next time 专栏Python零基础入门篇&#x1f525;Python网络蜘蛛&#x1f525;Python数据分析Django基础入门宝典&#x1f52…

2022世界杯结果预测,简单AI模型最有效?附代码!

2022世界杯冠军是谁&#xff1f;本文将为你揭晓一个利用简单AI模型得到的靠谱预测。 许多人称足球为“不可预测的比赛”&#xff0c;因为一场足球比赛有不同的因素可以改变最终比分。 这是真的……在某种程度上。 北大出版社&#xff0c;人工智能原理与实践 人工智能和数据科…

我在chatgpt学习requestIdleCallback

react对接chatgpt&#xff0c;导入json形成记忆数据继续提问&#xff0c;想要私聊 [{"role": "user","content": "requestIdleCallback 怎么使用" }, {"role": "assistant","content": "requestI…

必应聊天放宽限制:每轮会话最多 30 次,每天上限提至 300 次

微软搜索和人工智能副总裁 Jordi Ribas 在最新推文中宣布&#xff0c;必应聊天&#xff08;Bing Chat&#xff09;进一步放宽限制&#xff0c;每轮会话最多支持 30 次&#xff0c;用户每天最多可进行 300 次交流。 必应聊天预览版在最初发布时没有任何关于每次会话或每天聊天次…

前端食堂技术周刊第 76 期:第 95 次 TC39 会议、React Labs 工作进展、加速 JavaScript 生态系统、设计系统元规范、AI 一周资讯、前端开发者的终局

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;惠林顿牛排 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 本期摘要 第 95 次 TC39 会议React Labs 工作进展AI 一周资讯加速 JavaScript 生…

直播APP制作时即时聊天功能实现

目前直播app制作很火&#xff0c;直播中的即时聊天功能必不可少。云豹直播作为优质的直播平台源码提供商&#xff0c;在即时聊天功能方面必有其独到之处&#xff0c;下面为大家从如何实现即时聊天这个功能上答疑解惑。 即时聊天这个需求在很多app中都有&#xff0c;也是公认的…

虚拟直播实现流程(多人连麦直播互动为例)

虚拟直播既可以实现单人视频直播&#xff0c;也可以邀请观众上麦、进行多人连麦互动。 虚拟直播场景的直播分为两个阶段&#xff1a; 单虚拟主播直播&#xff1a; 单虚拟主播直播是指主播创建房间后&#xff0c;使用虚拟形象进行音视频直播&#xff0c;观众可以进房观看直播。…

AWS 使用ivs chat 实现直播聊天功能

什么是IVS Chat Rooms Amazon IVS Chat 是一种可扩展的流式聊天功能&#xff0c;具​​有内置的审核选项&#xff0c;旨在伴随实时流式视频。通过 IVS Chat&#xff0c;观众可以通过提问和参与讨论来建立社区关系。IVS Chat 提供房间资源管理和用于发送、接收和审核聊天消息的…

10种实用的Prompt技巧图解

收集整理了prompt engineering的10种实用技巧&#xff0c;以图解的方式解释了它们的主要原理。 本文追求以极简风格逼近这些方法的第一性原理&#xff0c;把黑话翻译成人话&#xff0c;并使用图片范例进行说明。 同时也加入了一些自己的理解&#xff0c;如有出入欢迎指正。 一&…

【AI】清华开源中英双语对话模型ChatGLM2-6B本地安装笔记

清华开源中英双语对话模型ChatGLM2-6B本地安装笔记 首先&#xff0c;直接上资源&#xff0c;网盘中是ChatGLM2-6B源码及模型文件&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1DciporsVT-eSiVIAeU-YmQ 提取码&#xff1a;cssa 官方的Readme已经很详尽了&#xff0…

显示/限制输入框的字数

<textarea rows"4" maxlength"50" placeholder"请输入您的口味偏好(可不填)"></textarea> <div class"limitnum"><span class"word">0</span>/50字</div> $("textarea").k…

靶场外传丨迎头赶上or弯道超车?中国网络靶场发展历程研读

从爱因斯坦计划到网络曼哈顿计划&#xff0c;全球网络靶场的发展历程折射出网络安全发展的趋势&#xff0c;从对设备、系统的仿真构建与安全性研究开始&#xff0c;逐步发展为在国防、科研、经济领域的关键系统。全球网络靶场经过14年的发展&#xff0c;已经呈现出军民两用、一…

3G与全业务运营应高度重视网络信息安全

本文讲的是 3G与全业务运营应高度重视网络信息安全&#xff0c; 11月6日至7日&#xff0c;由人民邮电报社、中国信息产业网主办&#xff0c;埃普威承办的“2009中国通信行业网络信息安全峰会(第四届)”在北京举行&#xff0c;400余名专业人士参会&#xff0c;围绕业界关注的网络…

岁末年初,“2018年度赛可达优秀产品奖”获奖名单揭晓了……

近日&#xff0c;由第三方信息安全测评认证机构——赛可达实验室主办的“2018年度赛可达优秀产品奖&#xff08;SKD AWARDS&#xff09;”颁奖盛典在京隆重举办。 腾讯、百度安全、360企业安全、奇元科技、京东云、瑞星、天空卫士、深信服、蓝盾、辰信领创、美创科技等16家单位…

内推 | 【美团充电宝-高级策略运营】北京/成都 20-30K

岗位信息 岗位&#xff1a;高级策略运营 薪资&#xff1a;20-30K 工作地点&#xff1a;北京/成都 岗位职责 1.制定业务导向策略&#xff1a;负责进行销售部门战略规划&#xff0c;根据部门业绩目标&#xff0c;发掘提升业绩贡献的契机&#xff0c;制定可落地的业绩提升策略&…

ADVANCE.AI寿栋:面对高度竞争的国际市场 中国出海企业的机会在哪?

6月16日消息&#xff0c;在细分增长2022新兴市场品牌出海线上峰会上&#xff0c;领创集团联合创始人&ADVANCE.AI CEO寿栋指出&#xff0c;过去两年&#xff0c;疫情加速全球电商发展、中国跨境电商出口额创新高的同时&#xff0c;全行业也在遭受更多的欺诈攻击。因此&#…

辰信领创联合发起创新战略联盟 网络安全与人工智能融合提速

12月18日&#xff0c;由知名上市科技企业北信源、三泰控股、和而泰、新兴网络安全公司辰信领创等50家“产、学、研、资、用”单位联合发起的“人工智能产业技术创新战略联盟(AI Union)”&#xff08;以下简称联盟&#xff09;在京正式成立。联盟成立后&#xff0c;将联合建设具…

AI创业,是商机还是泡沫

今天商汤上市&#xff0c;几经周折&#xff0c;总算上市成功。 嗯&#xff0c;据现场的小伙伴说&#xff0c;答谢晚宴其实给我留了位置&#xff0c;可惜因为疫情&#xff0c;无法去现场合影&#xff0c;否则又多了一些吹牛装逼的题材。 那么现在市场上也有很多不同观点&#xf…

辰信领创荣获“2016中国IT风云榜”两项大奖

近日&#xff0c;由中国信息产业商会、比特网、比特CIO俱乐部联合IT行业各界人士组织、参与&#xff0c;历时三月评选出的“2016中国IT风云榜”榜单正式出炉&#xff0c;国内新兴信息安全厂商辰信领创与旗下产品“景云网络防病毒系统”分获“2016中国IT风云榜信息安全领域创新企…