点赞关注是对我最大的支持,留言可分享测试资料。

什么是HTTP协议?什么是HTTPS协议?

  • HTTP是超文本传输协议,是互联网上用得最多的网络协议, 所以的www文件都遵守这个标准。HTTP 协议工作于客户端—服务端架构上。浏览器作为 HTTP 客户端通过 URL 向 HTTP 服务端(即 Web 服务器) 发送请求
  • HTTPS 的全称是 Hyper Text Transfer Protocol over Secure Socket Layer,是以安全为目标的 HTTP 通道, 简单讲是 HTTP 的安全版,即 HTTP 下加入 SSL 层(Secure Sockets Layer 安全套接层),简称为 HTTPS。
1.http和https的区别
  • http协议运行在TCP之上,明文传输,客户端和服务端都无法验证对方的身份。
  • https是在http基础上和ssl/tls证书结合起来的一种协议,保证了传输过程中的安全性,减少了被劫持的可能性,很好的解决了http的三个缺点(被监听,被篡改,被伪装)。
  • https是身披SSL(Secure SocketLayer)外壳的Http,运行于SSL,SSL运行于TCP之上,是添加了加密和认证机制的HTTP。
区别
  • 端口不同:Http与Https使用不同的连接方式,用的端口也不一样,前者是80,后者是443;
  • 资源消耗:和HTTP通信相比,Https通信会由于加减处理消耗更多的CPU和内存资源;
  • 开销:Https通信需要证书,而证书一般需要向认证机构购买;
2.对称加密和非对称加密
对称加密
  • 加密的密钥和解密的密钥相同
非对称加密
  • 非对称加密将密钥分为公钥和私钥,公钥可以公开,私钥需要保密,客户端公钥加密的数据,服务端可以通过私钥来解密。
3.建立连接
  • http和https都需要建立在连接的基础上进行数据传输。
  • 当客户在浏览器中输入网址,按下回车键的时候,浏览器会在浏览器的dns缓存,本地的dns缓存和hosts中查找相应的记录,如果没有获取到则会请求dns服务获取相应的ip
  • 当获取到ip后,tcp连接会进行三次捂手建立连接。
4.三次握手和四次分手
  • 握手(我要和你建立连接,你确定要和我建立链接么?确定)
  • 分手(我要你断开连接,好吧,断。我也要和你断开连接,好,断)
    三次握手的必要性,为什么两次不行
  • 为了保证服务器能接收到客户端的请求并作出正确的响应而进行前两次(第一次和第二次)。
  • 为了保证客户端能接受到服务端的信息并作出正确的响应而进行后两次(第二次和第三次)。
  • 为了防止已失效的链接请求报文突然又传回服务端。而产生错误。
5.一次完整的HTTP事务流程
  • 域名解析
  • 发起TCP三次握手
  • 建立TCP连接后发起http请求
  • 服务器返回http请求,浏览器得到HTML代码
  • 浏览器解析HTML代码,并请求HTML代码中的资源
  • 浏览器对页面进行渲染呈现给用户
  • 连接结束
6.DNS域名解析
  • dns服务器中保存着域名和ip的对应关系,为人们提供域名解析服务。
解析过程:
  • 本地DNS缓存>根DNS服务器>顶级DNS服务器>权威DNS服务器>二级域名的DNS服务器解析后和ip的对应关系保存在本地缓存,供下次使用。
7.TCP协议如何来保证传输的可靠性
  • TCP提供一种面向连接的、可靠的字节流服务。其中,面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信;而字节流服务意味着两个应用程序通过TCP链接交换8bit字节构成的字节流,TCP不在字节流中插入记录标识符。
对于可靠性,TCP通过以下方式进行保证:
  • 数据包检验:目的是检测数据在传输过程中的任何变化,若校验出包有错,则丢弃报文段并且不给出响应,这时TCP发送数据端超时后会重发数据;
  • 对失序数据包重排序:既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。TCP将对失序数据进行重新排序,然后才交给应用层;
  • 丢弃重复数据:对于重复数据,能够丢弃重复数据;
  • 应答机制:当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,通常将推迟几分之一秒;
  • 超时重发:当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段;
  • 流量控制:TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据,这可以防止较快主机致使较慢主机的缓冲区溢出,这就是流量控制。TCP使用的流量控制协议是可变大小的滑动窗口协议。
8.Get和POST的区别
GET和POST是我们常用的两种HTTP Method,二者之间的区别主要包括如下五个方面:
  • (1).从功能上讲,GET一般用来从服务器上获取资源,POST一般用来更新服务器上的资源;
  • (2).从REST服务角度上说,GET是幂等的,即读取同一个资源,总是得到相同的数据,而POST不是幂等的,因为每次请求对资源的改变并不是相同的;进一步说,GET不会改变服务器上的资源,而POST会对服务器资源进行改变;
  • (3).从请求参数形式上看,GET请求的数据会附在URL之后,即将请求数据放置在HTTP报文的请求头中,以?分割URL和传输数据,参数之间以&相连。而POST请求会把提交的数据放置在是HTTP请求报文中的请求体中。
  • (4)就安全性而言,POST的安全性要比GET的安全性高,因为GET请求提交的数据将明文出现在URL上,而且POST请求参数则被包装到请求体重,相对更安全。
  • (5).从请求大小看,GET请求的长度受限于浏览器或服务器对URL长度的限制,允许发送的数据量比较小,而POST请求则是没有大小限制。
9.浏览器缓存机制

`[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zW3C7zW0-1605336352536)(en-resource://database/1136:1)]

10.客户端使用HTTPS方式与web服务器通信的步骤:
  • (1)客户端使用HTTPS的URL访问web服务器,要求与web服务器建立SSL连接
  • (2)web服务器收到客户端请求后,将网站的证书信息(证书中包含公钥)传送一份给客户端
  • (3)客户端的浏览器与web服务器开始协商SSL连接安全等级,也就是信息的加密等级
  • (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站
  • (5)web服务利用自己的密钥解密出会话密钥
  • (6)web服务器利用会话密钥加密与客户端之间的通信
11.如何从http切换到https?
  • 需要将页面中的所有链接(js,css,图片地址等)都由http改为https
  • 去掉页面连接中的http头部,这样自动配置http头和https头
12.OSI与TCP/IP各层的结构与功能,都有哪些协议?
13.前端的优化方案
  • 减少请求数量:合并脚本和样式表,css,划分区域
  • 减低请求带宽:使用GZip,精简js,移除重复脚本,图像优化,尽可能减少DOM节点数。
  • 缓存利用:使用CDN,使用外部的js和css,减少DNS查找,添加Expires头,配置ETag,使Ajax可缓存
  • 页面结构:将样式表放在头部,将脚本放在底部,尽早刷新文档的输出
  • 代码校验:避免css表达式,避免重定向
移动端优化方案
  • 在上述的前端优化方案的基础上,可以做以下优化:保持单个内容小于25KB,打包组件成符合文档

什么是HTTP协议?什么是HTTPS协议?相关推荐

  1. tomcat 将http协议改为https协议,Websocket请求ws协议修改为wss协议

    tomcat 将http协议改为https协议,Websocket请求ws协议修改为wss协议 一. 说明 WS协议和WSS协议两个均是WebSocket协议的SCHEM,两者一个是非安全的,一个是安 ...

  2. 云套件将http协议改为https协议

    作者:yangjl 最近很多使用云套件的小伙伴们想把http协议改为https的,但是目前imanager for k8s里面目前并未提供一键转换的功能,目前研发侧的同事正在完善此功能,争取尽快更新出 ...

  3. 给服务器弄了一个https协议,HTTP和HTTPS协议

    一.http和https的区别 1.http协议存在的问题 1)请求信息明文传输,容易被窃听截取. 2)数据的完整性未校验,容易被篡改 3)没有验证对方身份,存在冒充危险 2.https相对http协 ...

  4. 免费申请下载SSL证书与证书的安装部署教程,网站服务由网站由http协议升级为https协议

    文章目录 相关技术术语 SSL SSL证书 HTTPS 证书申请 证书安装 在Tomcat服务器安装SSL证书 示例使用 阿里云SSL证书服务 相关技术术语 SSL 安全套接层SSL(Secure S ...

  5. 11.网络协议-HTTP及HTTPS协议

    1.HTTP需求背景 万维网(www) • Http是一种网络协议,也是互联网上应用最为广泛的一种,http也叫超文本传输协议,所有的html文件都是遵循这个标准进行传输的. • HTTP的出现是为了 ...

  6. 【基础协议】HTTP/HTTPS协议及其工作流程

    目录 1 HTTP协议与HTTPS协议 1.1 HTTP协议概述 1.2 HTTPS协议概述 1.3 HTTPS与HHTP区别 2 URI和URL相关知识 2.1 URI统一资源标识符 2.2 URL ...

  7. HTTPS协议原理分析

    HTTPS协议原理分析 HTTPS协议需要解决的问题 HTTPS作为安全协议而诞生,那么就不得不面对以下两大安全问题: 身份验证 确保通信双方身份的真实性.直白一些,A希望与B通信,A如何确认B的身份 ...

  8. 应用层协议:HTTP与HTTPS协议详解、二者的区别

    http协议详解 1.HTTP协议:超文本传输协议 是一种分布式.合作式.多媒体信息系统服务,面向应用层的协议.是一种通用的,不分状态的协议.是一种请求/应答协议. 1.1.HTTP/1.0和HTTP ...

  9. 如何将网站升级为HTTPS协议(整理)

    如何将网站升级为HTTPS协议(整理) 一.总结 一句话总结: 获取证书(有免费有付费):证书是一个二进制文件,里面包含经过认证的网站公钥和一些元数据,要从经销商购买. 安装证书:证书可以放在/etc ...

  10. web后端http协议使用过程中安全防范及https协议实现原理

    最近部门在进行对外暴露接口http协议向https协议转换 上大学时,学习过计算机网络,包括https协议,https是在http(HyperText Transfer Protocol)协议的基础上 ...

最新文章

  1. 视图函数中进行sql查询,防止sql注入
  2. 第7周实践项目1.1 环形队列中用队尾和队的元素个数来实现队列的算法库
  3. 面试题整理12 求字符串括号最大深度子串
  4. 资源利用率监控与存储卷(pv/pvc)
  5. 字符串函数实现(strlen,strcpy,strcmp,strcat,strrev)
  6. java converter转换器_springboot 自定义转换器(converter)
  7. 浅析 Linux 初始化 init 系统: UpStart
  8. Flask中路由系统以及蓝图的使用
  9. WPF、Windows Forms和Silverlight区别
  10. 悦读上品 得乎益友
  11. 孙燕姿:(Hello, I'm Stefanie...)
  12. Unity3D人体18节点骨骼动态简单点线模型的建立
  13. 1K直接金属涂层(DTM)-市场现状及未来发展趋势
  14. 计算机音乐红色彼岸花,《抖音》红色彼岸花花瓣遍地撒是什么歌
  15. 房屋租赁管理系统API
  16. 【阅读笔记】低照度图像增强-《Fast efficient algorithm for enhancement of low lighting video》
  17. Intellidea创建maven project遇到的问题
  18. iOS--AFN实现原理
  19. 【MaxCompute】MaxCompute 处理复杂json、json数组
  20. 搅拌釜反应器全自动真空压力(正负压)控制解决方案

热门文章

  1. python均值插补法填补缺失值_R语言笔记(四):特殊值处理
  2. 手机上的APP是如何与服务器通信的
  3. 什么时候才能拨开云雾见日出?
  4. 比较两组数据的差异用什么图更直观_扩增子图表解读7三元图:三组差异数量和关系...
  5. CSDN著名技术专家Visual C++2010开发体验心得——从Visual C++6.0到Visual C++2010见证VC++辉煌时刻
  6. map,hash_map和unordered_map效率比较
  7. 数据分析---常用业务运营指标
  8. 西部数码虚拟主机服务器配置,西部数码虚拟主机预装软件功能介绍
  9. c语言冒泡排序法6,C语言的冒泡排序法
  10. 手机日历上怎么记加班?日历便签可记录加班时间