http和https工作原理

article/2025/3/13 20:56:22

http:

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议

HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示:


默认HTTP的端口号为80,HTTPS的端口号为443。

HTTP的请求响应模型

HTTP协议永远都是客户端发起请求,服务器回送响应。见下图:
   

这样就限制了使用HTTP协议,无法实现在客户端没有发起请求的时候,服务器将消息推送给客户端。

HTTP协议是一个无状态的协议,同一个客户端的这次请求和上次请求是没有对应关系。

三次握手过程:


通过三次握手建立连接过程示例   

IP 192.168.1.116.3337 > 192.168.1.123.7788: S 3626544836:3626544836
IP 192.168.1.123.7788 > 192.168.1.116.3337: S 1739326486:1739326486 ack 3626544837
IP 192.168.1.116.3337 > 192.168.1.123.7788: ack 1739326487,ack 1

第一次握手:192.168.1.116发送位码syn=1,随机产生seq number=3626544836的数据包到192.168.1.123,192.168.1.123由SYN=1知道192.168.1.116要求建立联机;

第二次握手:192.168.1.123收到请求后要确认联机信息,向192.168.1.116发送ack number=3626544837,syn=1,ack=1,随机产生seq=1739326486的包;

第三次握手:192.168.1.116收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,192.168.1.116会再发送ack number=1739326487,ack=1,192.168.1.123收到后确认seq=seq+1,ack=1则连接建立成功。


 工作流程

一次HTTP操作称为一个事务,其工作过程可分为四步:

1)首先客户机与服务器需要建立连接。只要单击某个超级链接,HTTP的工作开始。

2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。

3)服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接。

如果在以上过程中的某一步出现错误,那么产生错误的信息将返回到客户端,有显示屏输出。对于用户来说,这些过程是由HTTP自己完成的,用户只要用鼠标点击,等待信息显示就可以了。




https:

HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容请看SSL。

见下图:
   

https所用的端口号是443。

https的实现原理

有两种基本的加解密算法类型:

1)对称加密密钥只有一个,加密解密为同一个密码,且加解密速度快,典型的对称加密算法有DES、AES等;

2)非对称加密密钥成对出现(且根据公钥无法推知私钥,根据私钥也无法推知公钥),加密解密使用不同密钥(公钥加密需要私钥解密,私钥加密需要公钥解密),相对对称加密速度较慢,典型的非对称加密算法有RSA、DSA等。

下面看一下https的通信过程:
   

过程大致如下:
1) SSL客户端通过TCP和服务器建立连接之后(443端口),并且在一般的tcp连接协商(握手)过程中请求证书。
即客户端发出一个消息给服务器,这个消息里面包含了自己可实现的算法列表和其它一些需要的消息,SSL的服务器端会回应一个数据包,这里面确定了这次通信所需要的算法,然后服务器向客户端返回证书。(证书里面包含了服务器信息:域名。申请证书的公司,公共秘钥)。                 
2)Client在收到服务器返回的证书后,判断签发这个证书的公共签发机构,并使用这个机构的公共秘钥确认签名是否有效,客户端还会确保证书中列出的域名就是它正在连接的域名。
3)  如果确认证书有效,那么生成对称秘钥并使用服务器的公共秘钥进行加密。然后发送给服务器,服务器使用它的私钥对它进行解密,这样两台计算机可以开始进行对称加密进行通信。

https通信的优点:

1)客户端产生的密钥只有客户端和服务器端能得到;

2)加密的数据只有客户端和服务器端才能得到明文;

3)客户端到服务端的通信是安全的





http://chatgpt.dhexx.cn/article/v3Lc2G93.shtml

相关文章

HTTP工作原理详解

1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定…

Http--工作原理

参考自 转载自 温习以下知识点: 1、TCP 2、TCP的3次握手和4次挥手 3、HTTP 4、HTTPS 5、SPDY 6、HTTP2.0 7、隧道 8、代理 9、InetAddress和InetSocketAddress一、TCP OSI七层协议(网络体系下的关系) 熟记这七层协议,发送时从…

web应用程序工作原理和HTTP原理

web程序工作原理 web程序大致可分为静态网站和动态网站,静态网站使用HTML语言编写,代码文件放在Web服务器,用户使用浏览器通过HTTP协议请求访问Web服务器上的Web页面,Web服务器将接收到的用户请求处理后,再发送给客户端…

HTTP介绍、原理

HTTP 与 HTTPS 有哪些区别? HTTP 是超文本传输协议,信息是明文传输,存在安全风险的问题。HTTPS 则解决 HTTP 不安全的缺陷,在 TCP 和 HTTP 网络层之间加入了 SSL/TLS 安全协议,使得报文能够加密传输。HTTP 连接建立相…

HTTP与HTTPS的工作原理

普通HTTP请求存在的问题 HTTP 本身是明文传输的,没有经过任何安全处理。例如用户在百度搜索了一个关键字,比如“苹果手机”,中间者完全能够查看到这个信息,并且有可能打电话过来骚扰用户。也有一些用户投诉使用百度时(官网&#x…

HTTP的工作原理

敲牛腩新闻发布系统的时候其实基本上就是按照视频中的讲解一步一步的进行,里面涉及到的知识大部分都是自己之前没有接触,它算开了个头剩下的就是如何去解决这些问题了。 在该系统的编码完成后,首先想到的就是发布了这在之前的博客&#xff08…

HTTP协议:工作原理

1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定…

http协议原理

HTTP工作原理 HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态…

HTTP原理与实现

一、基本概念 一、基本原理* 1、全称: HyperText Transfer Protocol (超文本传输协议) 2、底层实现协议:建立在 TCP/IP 上的无状态连接。 3、基本作用:用于客户端与服务器之间的通信,规定客户端和服务器之间的通信格式。包括请…

HTTP协议原理详解

文章目录 TCP协议与HTTP协议TCP 和HTTP的渊源HTTP 的版本HTTP/0.9HTTP/1.0HTTP/1.1HTTP/2.0 HTTP/1.1相较于 HTTP/1.0 协议的区别HTTP1.0运行方式HTTP1.1运行方式 HTTP/2.0 与HTTP/1.1 的区别区别:HTTP/2为什么是二进制HTTP/2多路传输消息头为什么需要压缩服务器推送…

@http工作原理及使用

文章目录 Http协议介绍Http工作原理访问网站分析Http请求方法Http响应方法http相关术语 Http协议介绍  HTTP 全称:Hyper Text Transfer Protocol 中文名:超文本传输协议------包含有超链接(Link)和各种多媒体元素标记(Markup)的文本。这些…

深入浅出HTTPS工作原理

深入浅出HTTPS工作原理 看了这么多篇讲https和加密算法的文章,只有阮一峰老师和这位老师的总结比较好。特此转载。 本文经授权转自腾讯蓝鲸(微信号:Tencent_lanjing) 蔡卓伦 14年毕业后加入腾讯sng增值产品部,一直从事…

HTTP详解 1 -工作原理

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴! 1. HTTP简介 HTTP协议(HyperTe…

关于HTTP的工作原理

对于http,相信只要是个码农就都不会很陌生,但是如果有人问你,你对http了解吗?或者问当我们在浏览器的地址栏中输入一个网址如“http://www.baidu.com”之后发生了什么,为什么会出现【百度一下,你就知道】这…

HTTP协议的工作原理

一、HTTP协议用于客户端和服务端之间的通信 1、http协议规定,请求是从客户端发出,最后服务器端相响应请求并返回 2、请求报文是由请求方法,请求URI,协议版本,可选的请求首部字段和内容实体构成。 3、响应报文基本上由…

HTTP和HTTPS的工作原理及区别

一、HTTP和HTTPS的基本概念 HTTP(HyperText Transfer Protocol:超文本传输协议):是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从Web服…

HTTP详解(1)-工作原理

1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定…

VBS带你领略脚本语言的快乐!(入门篇)

VBS语言基础入门 前言 小弟初来乍到,自诩高中时曾自学过一点VBS脚本语言基础,感觉不错,想把学习到的东西记录下来,和大家分享一下,由于小弟我学艺不精,有误的地方还请多多指教。    入门篇是给电脑小白做…

◎Vbs脚本编程简明教程之十 —— Vbs脚本编程常用的编辑器

Vbs脚本常用的编辑器当然是notapad,不过这个编辑器的功能当然实在是太弱了一点,其实有很多的专用的脚本编辑器可以大大方便vbs脚本的编写。我常用的有两种: 1、VBSEDit汉化版 2、primalscript汉化版,可以对30多种脚本进行编辑

VBS基础语法讲解

VBS基础语法讲解 文章目录 VBS基础语法讲解引言 一、编辑VBS的相关软件二、变量的定义一点说明 三、输入与输出1、输入2、输出 四、判断语句五、循环语句1、do -- loop 循环1)until2)while3)exit do 2、for -- next 循环 引言 最近在学习VBS…