这篇文章主要讲解了“HTTP与HTTPS工作原理详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTTP与HTTPS工作原理详解”吧!
一. HTTP
1.介绍
http是一个超文本传输协议,全称“Hyper Text Transfer Protocol”。它运行于TCP协议之上,是用于万维网服务器与本地浏览器之间传输超文本的协议。
2.工作原理
HTTP协议是基于客户端-服务器模式,通常浏览器作为HTTP
客户端通过URL
向HTTP
服务端发送所有请求,WEB
服务器根据接收到的请求后,向客户端发送相应信息。具体流程如下:
(1). 客户端与服务器端建立连接;
(2). 客户端向服务器端发送请求;
(3). 服务器端接收请求,并根据请求返回相应的结果作为应答;
(4). 客户端与服务器端关闭连接。
如下图所示:
3. 常见请求头信息
Accept : 指定客户端能够接收的内容类型
Accept-Charset:浏览器可以接受的字符编码集
Accept-Encoding: 指定浏览器可以支持的web服务器返回内容压缩编码类型
Accept-Language:浏览器可接受的语言
Accept-Ranges: 可以请求网页实体的一个或者多个子范围字段
Authorization: HTTP授权的授权证书
Cache-Control:指定请求和响应遵循的缓存机制
Connection: 表示是否需要持久连接
Cookie HTTP :请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器
Content-Length :请求的内容长度
Content-Type: 请求的与实体对应的MIME信息
Date: 请求发送的日期和时间
Expect: 请求的特定的服务器行为
From: 发出请求的用户的
Host :指定请求的服务器的域名和端口号
Pragma :用来包含实现特定的指令
Proxy-Authorization: 连接到代理的授权证书
Range: 只请求实体的一部分,指定范围 Range: bytes=500-999
Referer: 先前网页的地址,当前请求网页紧随其后,即来路
Upgrade: 向服务器指定某种传输协议以便服务器进行转换
4. 常见响应头信息
Accept-Ranges: 表明服务器是否支持指定范围请求及哪种类型的分段请求
Age: 从原始服务器到代理缓存形成的估算时间(以秒计,非负)
Allow: 对某网络资源的有效的请求行为,不允许则返回405
Cache-Control: 告诉所有的缓存机制是否可以缓存及哪种类型
Content-Encoding: web服务器支持的返回内容压缩编码类型
Content-Language: 响应体的语言
Content-Length: 响应体的长度
Content-Location: 请求资源可替代的备用的另一地址
Content-MD5: 返回资源的MD5校验值
Content-Range: 在整个返回体中本部分的字节位置
Content-Type: 返回内容的MIME类型
Date: 原始服务器消息发出的时间
Location: 用来重定向接收方到非请求URL的位置来完成请求或标识新的资源
Pragma: 包括实现特定的指令,它可应用到响应链上的任何接收方
Proxy-Authenticate: 它指出认证方案和可应用到代理的该URL上的参数
refresh :应用于重定向或一个新的资源被创造,在5秒之后重定向(由网景提出,被大部分浏览器支持)
Retry-After: 如果实体暂时不可取,通知客户端在指定时间之后再次尝试
Server: web服务器软件名称
Set-Cookie: 设置Http Cookie
二. HTTPS
1. 介绍
HTTPS (Secure Hypertext Transfer Protocol)
安全超文本传输协议,HTTPS
是在HTTP
上建立SSL
加密层,并对传输数据进行加密,是HTTP
协议的安全版。如下图:
2.HTTPS加密算法
(1). 对称加密
客户端采用已知的算法对要发送至服务器的信息加密,另外再单独发送一次秘钥,服务端对加密的信息采用接收的秘钥进行解密;即采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密。如下图所示:
(1). 非对称加密
非对称加密的时候有两把锁,一把是私有密钥,一把是公有密钥,使用非对称加密时,客户端按照服务器给定的公开密钥进行加密处理,服务器接收到密文后再通过私有密钥进行解密。如下图所示:
3.证书密钥加密
数字证书认证机构是客户端与服务器都可信赖的第三方机构。
1.服务器的开发者携带公开密钥,向数字证书认证机构提出公开密钥申请,数字证书认证机构在认清申请者的身份并审核通过后,会对开发者申请的公开密钥做数字签名,然后分配这个已签名的公开密钥,并将密钥放在证书里面绑定。
2.服务器将这个数字证书发送个客户端,客户端通过数字证书中的数字签名来验证公钥的真伪,确保服务器传过来的公开密钥是真实的,一般情况下证书的数字签名是很难被伪造的,这取决于认证机构的公信力,一旦去人信息无误后,客户端就会通过公开密钥对报文进行加密发送,服务器接收到以后用自己的私钥进行解密。
感谢各位的阅读,以上就是“HTTP与HTTPS工作原理详解”的内容了,经过本文的学习后,相信大家对HTTP与HTTPS工作原理详解这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。