当前位置: 首页 > news >正文

HTTP与HTTPS的区别

HTTP与HTTPS的区别

HTTP

(HyperText Transfer Protocol:超文本传输协议)

HTTP(HyperText Transfer Protocol:超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。 简单来说就是一种发布和接收 HTML 页面的方法,被用于在 Web 浏览器和网站服务器之间传递信息。

HTTP 默认工作在 TCP 协议 80 端口,用户访问网站 http:// 打头的都是标准 HTTP 服务。

HTTP 协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。

HTTP流程

  • 第一次握手:客户端尝试连接服务器,向服务器发送 syn 包(同步序列编号Synchronize Sequence Numbers),syn=j,客户端进入 SYN_SEND 状态等待服务器确认
  • 第二次握手:服务器接收客户端syn包并确认(ack=j+1),同时向客户端发送一个 SYN包(syn=k),即 SYN+ACK 包,此时服务器进入 SYN_RECV 状态
  • 第三次握手:第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手

HTTP报文组成

  • 请求报文构成
  1. 请求行:包括请求方法(GET POST……)、URL、协议/版本(HTTP/1.1)
  2. 请求头(Request Header)
  3. 请求正文

  • 响应报文构成
  1. 状态行
  2. 响应头
  3. 响应正文

  • 常见的请求方法

    整体范围已定义范围
    GET请求指定的页面信息,并返回实体主体。
    HEAD类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
    POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。
    PUT从客户端向服务器传送的数据取代指定的文档的内容。
    TRACE对可能经过代理服务器传送到服务器上去的报文进行追踪
    OPTIONS决定可以在服务器上执行哪些方法
    DELETE请求服务器删除指定的页面。
  • post和get的区别:

分类GETPOST
后退按钮/刷新无害数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
书签可收藏为书签不可收藏为书签
缓存能被缓存不能缓存
编码类型application/x-www-form-urlencodedapplication/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。
历史参数保留在浏览器历史中。参数不会保存在浏览器历史中。
对数据长度的限制是的。当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。无限制。
对数据类型的限制只允许 ASCII 字符。没有限制。也允许二进制数据。
安全性与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET !POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。
可见性数据在 URL 中对所有人都是可见的。数据不会显示在 URL 中。

HTTP响应状态码

访问一个网页时,浏览器会向web服务器发出请求。此网页所在的服务器会返回一个包含HTTP状态码的信息头用以响应浏览器的请求。

状态码分类

整体范围已定义范围分类
100~199100~101信息型,服务器收到请求,需要请求者继续操作。
200~299200~206成功型,请求成功收到,理解并处理。
300~399300~305定向,需要进一步的操作以完成请求。
400~499400~415客户端错误,请求包含语法错误或无法完成请求。
500~599500~505服务器错误,服务器在处理请求的过程中发生了错误。

常见状态码

  • 200 OK - 客户端请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 302 - 临时跳转
  • 400 Bad Request - 客户端请求有语法错误,不能被服务器所理解
  • 401 Unauthorized - 请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
  • 404 - 请求资源不存在,可能是输入了错误的URL 【www.Google.com】
  • 500 - 服务器内部发生了不可预期的错误
  • 503 Server Unavailable - 服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

HTTPS

(Hypertext Transfer Protocol Secure:超文本传输安全协议)

HTTPS(Hypertext Transfer Protocol Secure:超文本传输安全协议)是一种透过计算机网络进行安全通信的传输协议。HTTPS 经由 HTTP 进行通信,但利用 SSL/TLS 来加密数据包。HTTPS 开发的主要目的,是提供对网站服务器的身份认证,保护交换数据的隐私与完整性。

HTTPS=HTTP+SSL

什么是SSL/TLS

SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。

TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。该协议由两层组成:TLS记录协议和TLS握手协议。

所有信息明文传播【没错就是说你的,HTTP】,带来了三大风险。

(1) 窃听风险(eavesdropping):第三方可以获知通信内容。

(2) 篡改风险(tampering):第三方可以修改通信内容。

(3) 冒充风险(pretending):第三方可以冒充他人身份参与通信。

SSL/TLS协议是为了解决这三大风险而设计的,希望达到:

(1) 所有信息都是加密传播,第三方无法窃听。

(2) 具有校验机制,一旦被篡改,通信双方会立刻发现。

(3) 配备身份证书,防止身份被冒充。

基本的运行过程

SSL/TLS协议的基本思路是采用公钥加密法,也就是说,客户端先向服务器端索要公钥,然后用公钥加密信息,服务器收到密文后,用自己的私钥解密。

但是,这里有两个问题。

(1)如何保证公钥不被篡改?

解决方法:将公钥放在数字证书中。只要证书是可信的,公钥就是可信的。

(2)公钥加密计算量太大,如何减少耗用的时间?

解决方法:每一次对话(session),客户端和服务器端都生成一个"对话密钥"(session key),用它来加密信息。由于"对话密钥"是对称加密,所以运算速度非常快,而服务器公钥只用于加密"对话密钥"本身,这样就减少了加密运算的消耗时间。

因此,SSL/TLS协议的基本过程是这样的:

(1) 客户端向服务器端索要并验证公钥。

(2) 双方协商生成"对话密钥"。

(3) 双方采用"对话密钥"进行加密通信。

上面过程的前两步,又称为"握手阶段"(handshake)。

img

→ ClientHello请求。

在这一步,客户端主要向服务器提供以下信息。

(1) 支持的协议版本,比如TLS 1.0版。

(2) 一个客户端生成的随机数,稍后用于生成"对话密钥"。

(3) 支持的加密方法,比如RSA公钥加密。

(4) 支持的压缩方法。

←SeverHello。

服务器的回应包含以下内容。

(1) 确认使用的加密通信协议版本,比如TLS 1.0版本。如果浏览器与服务器支持的版本不一致,服务器关闭加密通信。

(2) 一个服务器生成的随机数,稍后用于生成"对话密钥"。

(3) 确认使用的加密方法,比如RSA公钥加密。

(4) 服务器证书。

客户端回应

客户端收到服务器回应以后,首先验证服务器证书

如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。

如果证书没有问题,客户端就会从证书中取出服务器的公钥。然后,向服务器发送下面三项信息。

(1) 一个随机数。该随机数用服务器公钥加密,防止被窃听。

(2) 编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。

(3) 客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供服务器校验。

至于为什么一定要用三个随机数,来生成"会话密钥",dog250解释得很好:

"不管是客户端还是服务器,都需要随机数,这样生成的密钥才不会每次都一样。由于SSL协议中证书是静态的,因此十分有必要引入一种随机因素来保证协商出来的密钥的随机性。

对于RSA密钥交换算法来说,pre-master-key本身就是一个随机数再加上hello消息中的随机,三个随机数通过一个密钥导出器最终导出一个对称密钥。

pre master的存在在于SSL协议不信任每个主机都能产生完全随机的随机数,如果随机数不随机,那么pre master secret就有可能被猜出来,那么仅适用pre master secret作为密钥就不合适了,因此必须引入新的随机因素,那么客户端和服务器加上pre master secret三个随机数一同生成的密钥就不容易被猜出了,一个伪随机可能完全不随机,可是是三个伪随机就十分接近随机了,每增加一个自由度,随机性增加的可不是一。"

服务器的最后回应

服务器收到客户端的第三个随机数pre-master key之后,计算生成本次会话所用的"会话密钥"。然后,向客户端最后发送下面信息。

(1)编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送。

(2)服务器握手结束通知,表示服务器的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供客户端校验。

HTTPS流程

  • 细节

1、非对称密钥交换。比如RSA, Diffie-Hellman, ECDHE.这类算法的主要作用就是根据客户端和服务端不对称的信息,经过高强度的密钥生成算法,生成对称密钥,用于加解密后续应用消息。

2、对称加解密。服务端使用密钥A对响应内容进行加密,客户端使用相同的密钥A对加密内容进行解密,反之亦然。
3、消息一致性验证。每一段加密的内容都会附加一个MAC消息,即消息认证码。简单地说就是对内容进行的安全哈希计算,接收方需要校验MAC码。

4、**证书签名校验。**这个阶段主要发生在客户端校验服务端证书身份时,需要对证书签名进行校验,确保证书的真实性。

HTTPS的缺点

虽然说HTTPS有很大的优势,但其相对来说,还是存在不足之处的:

(1)HTTPS协议握手阶段比较费时,会使页面的加载时间延长近50%,增加10%到20%的耗电;

(2)HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗,甚至已有的安全措施也会因此而受到影响;

(3)SSL证书需要钱,功能越强大的证书费用越高,个人网站、小网站没有必要一般不会用。

(4)SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗。

(5)HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用。最关键的,SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行。

(6)网站改用 HTTPS 以后,由 HTTP 跳转到 HTTPS 的方式增加了用户访问耗时(多数网站采用 301、302 跳转)

HTTPS优化

1、HSTS重定向技术:将http自动转换为https,减少301重定向【HSTS(HTTP Strict Transport Security,HTTP 严格传输安全)】

2、TLS握手优化:在TLS握手完成前客户端就提前向服务器发送数据【就开始发送请求数据,服务器在收到这些数据后,完成 TLS 握手的同时,开始发送响应数据。】

3、**会话标识符:**服务器记录下与某客户端的会话ID,下次连接客户端发ID过来就可以直接用之前的私钥交流了

4、OSCP Stapling:服务器将带有 CA 机构签名的 OCSP 响应在握手时发给客户端,省的客户端再去CA查询

5、完全前向加密PFS:使用更牛逼复杂的秘钥算法

HTTP 与 HTTPS 区别

HTTPHTTPS(SSL+HTTP)
明文传输,数据都是未加密的,安全性较差,数据传输过程是加密的,安全性较好。
免费使用 HTTPS 协议需要到 CA(Certificate Authority,数字证书认证机构) 申请证书,一般免费证书较少,因而需要一定费用。证书颁发机构如:Symantec、Comodo、GoDaddy 和 GlobalSign 等。
HTTP 页面响应速度比 HTTPS 快,主要是因为 HTTP 使用 TCP 三次握手建立连接,客户端和服务器需要交换 3 个包,而 HTTPS除了 TCP 的三个包,还要加上 ssl 握手需要的 9 个包,所以一共是 12 个包。
80443
资源消耗少HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源。

求关注

部分内容参考

https://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

https://blog.fundebug.com/2019/02/22/compare-http-method-get-and-post/

https://www.pianshen.com/article/8039276632/

https://blog.csdn.net/qq_35642036/article/details/82788421

https://www.runoob.com/w3cnote/http-vs-https.html

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

阿里P8大牛亲自讲解!java静态变量和实例变量

Redis主从复制 概念 Redis的主从复制概念和MySQL的主从复制大概类似。一台主机master,一台从机slaver。master主机数据更新后根据配置和策略,自动同步到slaver从机,Master以写为主,Slave以读为主。 主要用途 读写分离&#xff1…...

Angular中NgOnInit和Constructor方法之间的主要区别

参考链接:https://chudovo.com/main-differences-between-ngoninit-and-constructor-methods-in-angular/...

redis中的RDB和AOF

redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化),另外一种是AOF持久化(原理是将Reids的操作日志以追加的方式写入文件)。那么这两种持久化方…...

弘辽科技:成为拼多多商家要什么要求?收费吗?

现在也有不少人想要入驻拼多多,但是想要成为拼多多的商家也需要满足对应的要求,同时也想要了解成为拼多多商家是否需要收费,我马上就来给各位卖家们介绍。 拼多多商家入驻平台分四种店铺,这里小编介绍一下旗舰店、专营店入驻基本条…...

超11万字整理完k8s的核心组件pod全部功能详解,理论代码超详细,建议跟着做一遍实验【含 label 标签使用】【1】

文章目录说明【必看】第二篇文章标题和链接第二篇文章标题和链接第三篇文章标题和链接创建及删除pod创建一个pod-1的文件夹和命名空间镜像准备【node节点执行】创建pod【虚拟机】方式1:命令行的方式【不建议】默认创建加imagePullPolicy参数创建说明方式2&#xff1…...

品牌应该如何把握抖音电商的红利:深度拆解花西子如何通过抖音电商一年销售1亿+

最近抖音电商正在逐渐起势,前一阵子老赵去参加了抖音的电商大会和千川大会,从这两个会的火爆程度我们就可以看出,越来越多的品牌正在涌向抖音电商平台,并且越来越重视这个平台。抖音电商将是品牌们的新战场,这个平台让…...

你不知道的JS思考题

思考题 1、对比空值和对象的类型 思路: typeof null "object" typeof {} "object"答案 var a null ; (!a && tpeof a object); 补充: 内置类型typeof null "object" 祖传bug undefined "undefined&…...

Layui快速入门(2021.06.15)

第一步&#xff1a;下载layui文件 第二步&#xff1a;新建项目&#xff0c;导入下载的文件夹 第三步&#xff1a;参考文档开发 1.layui入门html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>la…...

Mysql异常之Communications link failure

前天线上出现数据数据抖动&#xff0c;收到大量异常告警&#xff0c;都要疯了&#xff0c;数据库出现大量异常&#xff0c;肯定第一件事就是看下数据库监控数据&#xff0c;发现有一个从分片执行时间有一个50多秒的操作&#xff0c;这里肯定有问题了&#xff0c;第一时间找了db…...

储备未完待续

储备 如何精准熬一人份的粥 如何快速晾凉一碗粥 3M手套和钢铁侠 洗手盆三件套 三种门锁、两个门锁 制作书签的一种方法 摩托车和汽车的排气筒 变形金刚和巴巴爸爸 横向冲击和纵向冲击 我和图书馆 影响我的三本书 曲黎敏、亨利我们会追上你的、穷理查历书...

git知识点查阅

若自己在自己的电脑上修改了某一代码&#xff0c;而此时远程分支上对应的代码别人也做了修改&#xff0c;现在需要把远程分支的代码和自己本地的代码合并到本地电脑&#xff0c;操作&#xff1a; git stash git pull git stash pop...

如何成为一个成功的 Java 开发人员?

【此文章转自乐字节】 如果你是一名成功的Java程序员&#xff0c;那么在任何公司中的Java开发人员中&#xff0c;你都有机会获取一席之地。 前言 在当今时代&#xff0c;有很多编程语言可能会塑造我们的未来。然而&#xff0c;当我们开始学习编程时&#xff0c;我们总是从C语…...

代理和负载均衡的详细说明是什么

对客户端提供的代理服务&#xff0c;在客户端无法直接访问服务端的情况下&#xff0c;星池StarPool通过配置代理服务器的方式访问服务端。在整个过程中&#xff0c;客户端请求首先发送到代理服务器&#xff0c;代理服务器再将请求发送到服务端后将结果返回给客户端。从服务端角…...

使用DNSObserver检测DNS安全漏洞

关于DNSObserver DNSObserver是个功能强大的DNS服务&#xff0c;该工具使用Go语言开发&#xff0c;可以帮助广大研究人员轻松检测各种类型的盲注漏洞。它可以监控渗透测试人员所搭建服务器的带外DNS交互信息&#xff0c;并通过Slack发送查询通知。DNSObserver可以帮助我们寻找的…...

Zookeeper源码查看: 七. 客户端启动源码

客户端启动源码 查看启动脚本 查看 zkCli.sh, 在 zkCli.sh 启动 Zookeeper 时, 会调用 ZooKeeperMain.java 创建 ZookeeperAdmin 查看启动类 ZookeeperMain 查看 ZookeeperMain 构造方法 查看 connectToZK() 方法 初始化监听器 查看 ZookeeperAdmin 类 解析连接地址…...

整理了 34 个 Python 自动化办公库

本次内容涵盖了Excel、Word、PPT、ODF、PDF、邮件、微信、文件处理等所有能在办公场景实现自动化的库,希望能够对大家有所帮助。 Python Excel自动化库 // 1.xlwings 库 官网: https://www.xlwings.org/ 特点:xlwings 是开源且免费的,预装了 Anaconda 和 WinPython,可…...

【Jenkins插件】之Multiple SCMs

在Jenkins配置中&#xff0c;有的时候我们需要依次拉取多个代码仓库&#xff0c;有时候还会需要既拉取svn代码库&#xff0c;又拉取git代码库&#xff0c;但Jenkins默认的配置是不支持这样操作的。因此&#xff0c;我们需要使用到Jenkins的Multiple SCMs插件。 Multiple SCMs这…...

为什么自己干了这么多活,最后功劳都是别人的?

【本文只针对IT行业技术岗】 一、粉丝留言 自己每天加班到10点&#xff0c;有时候都到凌晨&#xff0c;周6基本全勤&#xff0c;公司项目忙的时候周日还去加班&#xff0c; 做过的项目无数&#xff0c;很多项目都给公司带来了丰厚的利润。 年底年终奖比别人少了一个月&…...

pytest(10)-参数化详解

先看如下情况&#xff0c;即为了测试一个函数&#xff0c;列举了三个测试用例&#xff0c;每个用例其实就是参数不同而已 在test_example.py 文件中编写如下代码&#xff1a; def add(a,b):return (ab)def test_1():assert add(3,5)8def test_2():assert add(2,4)7def test_3(…...

防(反)浏览器指纹技术之指纹浏览器揭秘

什么是指纹浏览器? 首先&#xff0c;这个指纹并不是上班打卡的指纹&#xff0c;也不是你家指纹锁的指纹&#xff01; 这里指的浏览器指纹是指通过浏览器的各种信息&#xff0c;如系统字体、屏幕分辨率、浏览器语言、时区等等&#xff0c;无需 cookie 等技术&#xff0c;就能…...

EXECL 获取断续数据的开头和结尾的数据

需求&#xff1a; 判断序号行的数据是否连续&#xff0c;在开头字段写入序号中连续数据的第一个数&#xff0c;结尾字段写入连续数据的最后一个数。 Sub 判断是否连续()Dim i As IntegerDim s As Integer写入开头第一个数据Cells(2, "C") Cells(2, "B")…...

web前端开发学习路线图!

移动互联网时代&#xff0c;HTML5前端开发成为“抢手货”&#xff01;各大招聘网站前端相关岗位空缺大、薪资高&#xff0c;很多人在学习前端开发&#xff0c;学习前端&#xff0c;我觉得最不缺少的一个是完善的系统的web前端开发/html5学习路线图&#xff0c;另一个就是好的课…...

人在迷茫的时候该做什么,别让迷茫拖累你的前进的脚步...【建议收藏】

前言 迷茫是一个笼统的状态&#xff0c;首先是找不到方向&#xff0c;其实是找不到做事的步骤。如果你生活在一个都是平凡人组成的社会微环境中&#xff0c;身边没有一个特别优秀的人&#xff0c;你也没有读过任何历史或者社会名人的传记&#xff0c;那么要有方向&#xff0c;…...

Linux系统中安装MySQL

文章目录提前须知Linux版本的MySQL下载卸载系统自带的数据库安装前准备解压MYSQL安装包创建MYSQL用户和用户组创建data文件夹修改MYSQL目录的归属用户准备MYSQL的配置⽂件正式开始安装MYSQL复制启动脚本到资源目录设置MySQL系统服务并开启⾃启启动MySQLD将MySQL的BIN目录加入PA…...

2021-8-23 18点00 程序外生活 - 中国A50指数 机器预测学习跟踪记录 - 日线开始反弹,但是会有反复,周线继续确认底部。

日线级别&#xff1a;下跌尾部可能有反复&#xff0c;大概率震荡消耗&#xff0c;有概率出现最后一跌&#xff0c;释放能量。 周线级别: 第一次确定短期底部&#xff0c;预计震荡方式往上&#xff0c;量能较弱&#xff0c;此处为为长期趋势线附近支撑&#xff0c;值得守住。 …...

力扣K神图解算法数据结构解析10

十、分治算法 剑指07&#xff0c;重建二叉树 //时间O(n)&#xff0c;空间O(n) //自己一直觉得这道题很难&#xff0c;没想到还是能够拿下&#xff0c;其实理论也清楚&#xff0c;前序遍历和中序遍历 //关键如下 //1.recur递归参数的确定&#xff0c;根节点在前序遍历中的索引&a…...

Java学习路线图//Java、Java学习路线、Java自学、Java经验分享、经验分享、资源分享

今天整理了群里大佬们的实践经验成文为学习路线图&#xff0c;目的是帮助后来者高效的学习Java。 该路线图在保留了文章的核心架构外&#xff0c;也做了一些优化&#xff0c;包括&#xff1a; 更详细的学习内容。更精确的学习时间。优化学习方法&#xff0c;避开前端知识。及…...

简单介绍下Python解释器

当我们编写Python代码时&#xff0c;我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码&#xff0c;就需要Python解释器去执行.py文件。 由于整个Python语言从规范到解释器都是开源的&#xff0c;所以理论上&#xff0c;只要水平够高&#xff0c;任何人都…...

静态ip域名怎么设置?

要想在互联网上进行正常的联网使用&#xff0c;分别是&#xff1a;网站源码&#xff0c;服务器&#xff0c;域名。服务器就是用来在后台存储网站数据并支撑运行的平台&#xff0c;大家对服务器以及域名都不是很了解&#xff0c;因此&#xff0c;想要对此有了解的小伙伴&#xf…...

Linux 文件系统 整理

独栋别墅&#xff0c;容积率低 root 用户 高层。 用户组 用户 $more 预览 文件名 more /etc/group a.txt 文本 .java Java文件 Linux中不以后缀作为区分&#xff0c; 回车 &#xff1a;换行 空格&#xff1a;换页 q&#xff1a;退出 $tail&#xff1a; 尾巴 $tail -10 /etc/gr…...

dbc2000 注册机|dbc2000 注册码注册机下载

点击下载来源&#xff1a;dbc2000 注册机 dbc2000 注册机是同名源程序软件的注册机软件&#xff0c;该源程序软件是一款应用于数据库搭建以及数据写入的数据库架设工具&#xff0c;它拥有强大的数据写入功能&#xff0c;在作为应用程序使用时&#xff0c;它不仅可以充当数据属性…...

秋招面经第八弹:网易二面-数据开发工程师

秋招第八弹&#xff1a;网易二面-数据开发工程师 写在最前&#xff1a;秋招以来一直在冲&#xff0c;因为事情比较多&#xff0c;对于笔试面试一直没有复盘&#xff0c;现在靠仅存的记忆把面试的一些问题记录下来&#xff0c;尽可能记录出能回忆到的问题&#xff0c;但可能记的…...

安卓课程格子APP

https://download.csdn.net/download/weixin_57836618/73810452 功能演示&#xff1a; 查看所有课程 点击主页面空白处即可添加课程 添加课程之后查看课程 查看双周课程 查看单周课程 6.查看课程详情...

强化学习——格子世界

强化学习——格子世界 项目源码地址&#xff1a;https://gitee.com/infiniteStars/machine-learning-experiment 1. 实验内容 2. 实验代码 import numpy as np import matplotlib.pyplot as plt from matplotlib.table import Table from xml.dom.minidom import Document #手…...

华为机试 - 跳格子游戏

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 地上共有N个格子&#xff0c;你需要跳完地上所有的格子&#xff0c;但是格子间是有强依赖关系的&#xff0c;跳完前一个格子后&#xff0c;后续的格子才会被开启&#xff0c;格子间的依赖关系由多组st…...

php 爬课程表信息,Ruby爬取教务系统生成课程表

我为什么要虐自己最近觉得课程格子广告越来越多&#xff0c;乱七八糟的东西越来越多&#xff0c;完全失去了一开始的存在价值&#xff0c;并且没有电脑端app&#xff0c;想查看课程必须拿出手机&#xff0c;而我使用电脑频率要比手机高&#xff0c;所以才有了折腾的动力。于是我…...

android 课程表 ui,UICollectionViewLayout实现课程表布局

因为项目中有课程表的相关模块&#xff0c;第一时间想到用UICollectionView。然而后期的需求越来越复杂&#xff0c;每个格子需要展示的内容越来越多&#xff0c;所以不得不寻找合适的解决方案。最后发现自定义UICollectionViewLayout可以实现我的需求。先放效果图&#xff1a;…...

Android自定义View课程表,Android 自定义View课程表表格

自己闲下来时间写的一个课表控件使用的自定义LinearLayout 里面View都是用代码实现的 最终效果如下图 写的可能有问题希望多多指点创建一个自定义LinearLayout 控件用来装载课程的信息和课程的周数 和节数大概的布局三这样的根据上面的看来觉得总体布局我分了两个 上面的星期是…...

java课程设计设计_java课程设计

1. 团队课程设计博客链接https://www.cnblogs.com/choco1ate/p/12172223.html2.本组课题及本人任务本组课题&#xff1a;泡泡堂(炸弹人)游戏本人任务&#xff1a;Box类(游戏地图中的每个方格)Bomb类(游戏过程中的)游戏玩家输赢信息的文件储存3.需求分析Box类&#xff1a;该类为…...

《课程格子》的一个笔试题目

题目如下&#xff0c;感觉很适合喜欢琢磨的程序员&#xff0c;也是考验你编码风格的时候。 Lets make a tower defense game&#xff08;塔防游戏):1. You have 1 tower, with H health and D dps(damage per second).2. There are n attackers, each with h_i health and d_i …...

Android仿照超级课程表 or 课程格子 一键提取课表功能(方正系统)

参考文章http://blog.csdn.net/sbsujjbcy ,本文仿照‘ 安卓弟 提供的android 项目实战——打造超级课程表一键提取课表功能文章&#xff0c;对他的代码进行了修改和补充&#xff0c;为什么要修改呢&#xff1f;原因是安卓弟的那个源码版本过于老旧&#xff0c;很多方法已经过…...

Noitom Hi5开发初体验02 移动

移动采用了最简单的触发机制 右手食指点击左手手背上的方向按钮 碰撞触发移动 前后左右是根据目视角度去对应移动的。&#xff08;这部分是搜的&#xff09; 1.新建空物体 moveDic 来确定移动的方向 2.代码ChildTransform public class ChildTransform : MonoBehaviour {…...

HI5 2.0 交互 SDK 用户手册—— HTC Vive 系列

相关文档与SDK下载地址&#xff1a;Hi5 2.0 插件下载 - Powered By Noitom Internet Team 一、 Unity VR 基础环境配置 请使用 Unity 2019.x/2020.x/2021.x LTS 版本新建工程&#xff0c;Unity 2022 版本正在适配中。1. 插件下载 到 Steam 官网https://github.com/ValveSoftwar…...

Noitom Hi5开发初体验01

工作原因接触 Noitom Hi5 的开发 官网提供了较为详细的操作相关教学视频 在视频下方有NoitomHi5的 使用说明、绑定教程、开发包&#xff08;含交互SDK,示例程序&#xff0c;文档&#xff09;、校准样例 以及面向 unity 和 unreal的开发文档、SDK等 &#xff08;我使用的…...

TVM Pass 总结

tvm.relay.transform文档 ModulePass 将整个程序视作一个单元处理的pass。 LambdaLift、RemoveUnusedFunctions、Inline、EtaExpand、PartialEval、PrintIR、PartitionGraph、ToANormalForm FunctionPsss 以单个函数为作用域的pass, 每个函数间是相互独立的 DeadCodeElim…...

Java中都是值传递 pass-by-value

注意 &#xff0c;在Java中都传值&#xff0c;而不是引用&#xff0c;对于对象实例&#xff0c;也只是传递的是引用的值&#xff0c;所以要理清思路。...

在LLVM中编写Backend Pass的详细教程(1)

LLVM是一个自由软件项目,它是一种编译器基础设施,以C++写成。其发端源于2000年伊利诺伊大学厄巴纳-香槟分校(UIUC)的维克拉姆艾夫(Vikram Adve)与其第一个博士生克里斯拉特纳(Chris Lattner)的研究,彼时他们想要为所有静态及动态语言创造出动态的编译技术。 LLVM的命名…...

Java中方法调用参数传递的方式是传值,尽管传的是引用的值而不是对象的值。(Does Java pass by reference or pass by value?)

原文地址&#xff1a;http://www.javaworld.com/javaworld/javaqa/2000-05/03-qa-0526-pass.html 在Java中&#xff0c;所有的对象变量都是引用&#xff0c;Java通过引用来管理对象。然而在给方法传参时&#xff0c;Java并没有使用传引用的方式&#xff0c;而是采用了传值的方…...

条款20 宁以pass-by-reference-to-const替换pass-by-value

总结&#xff1a; 1、尽量以pass-by-reference-to-const替换pass-by-value。前者更高效且可以避免切断问题。 2、这条规则并不适用于内建类型及STL中的迭代器和函数对象类型。对于它们&#xff0c;pass-by-value通常更合适。 缺省情况下&#xff0c;C以传值方式将对象传入或传…...

nginx的location,upstream,rewrite 和 proxy_pass使用,以及需要注意的地方

nginx主要功能可一个分为3个。 1、页面地址路由&#xff0c;跳转 2、反向代理&#xff0c;负载均衡 3、静态资源访问 今天主要从location,upstream,rewrite 和proxy_pass这几个命令来说。 一 、 location&#xff1a; 顾名思义-->地址。nginx服务器非常核心的配置&…...