HTTP和HTTPS

1、 HTTP:是互联⽹上应⽤最为⼴泛的⼀种⽹络协议,是⼀个客户端和服务器端请求和应答的标准(TCP),⽤于从
WWW服务器传输超⽂本到本地浏览器的传输协议,它可以使浏览器更加⾼效,使⽹络传输减少。
2.、HTTPS:是以安全为⽬标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加⼊SSL层,HTTPS的安全基础是
SSL,因此加密的详细内容就需要SSL。
3.、HTTPS协议的主要有以下作⽤:⼀是建⽴⼀个信息安全通道,来保证数据传输的安全;另外就是确认⽹站的真实
性。

HTTP缺点
1、通信使⽤明⽂,内容可能被窃听(重要密码泄露)
2、不验证通信⽅身份,有可能遭遇伪装(跨站点请求伪造)
3、⽆法证明报⽂的完整性,有可能已遭篡改(运营商劫持)

在这里插入图片描述
HTTPS: 采⽤ 对称加密 和 ⾮对称加密 结合的⽅式来保护浏览器和服务端之间的通信安全。
对称加密算法加密数据+⾮对称加密算法交换密钥+数字证书验证身份=安全
共享密钥加密也称对称密钥加密。采⽤的是使⽤相同密钥对报⽂进⾏加密解密。
缺点:⽆法避免被⽹络监听泄漏密钥的问题。同时对于众多客户端的服务器来说还需要分配和管理密钥,对于客户端来说也需要管理密钥,增加设计和实现的复杂度,同时也降低了通信的效率。
⾮对称加密,公钥加密只能通过对应的私钥解密,私钥加密只能通过对应的公钥解密。
缺点:公开密钥加密(⾮对称加密)安全性⾼,伴随着加密⽅式复杂,处理速度慢的问题。如果我们的通信都是⽤公开密钥的⽅式加密,那么通信效率会很低。 采⽤⾮对称加密因为安全性,采⽤对称加密是因为他加解密速度快,在交换密钥对环节使⽤公开密钥加密⽅式(防⽌被监听泄漏密钥)加密共享的密钥,在随后的通信过程中使⽤共享密钥的⽅式使⽤共享的密钥进⾏加解密。

HTTP 与 HTTPS 的区别
HTTP 是明⽂传输协议,HTTPS 协议是由 SSL+HTTP 协议构建的可进⾏加密传输、身份认证的⽹络协议,⽐HTTP 协议安全。
HTTPS⽐HTTP更加安全,对搜索引擎更友好,利于SEO,⾕歌、百度优先索引HTTPS⽹⻚;
HTTPS需要⽤到SSL证书,⽽HTTP不⽤【(HTTPS是安装SSL的服务器,HTTP是未安装SSL的服务器)】;
HTTPS标准端⼝443,HTTP标准端⼝80;
HTTPS基于传输层,HTTP基于应⽤层;
HTTPS在浏览器显示绿⾊安全锁,HTTP没有显示;

各类别常见状态码:

2xx (3种)
200 OK:表示从客户端发送给服务器的请求被正常处理并返回;
204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回);
206 Patial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。

3xx (5种)
301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL;
302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL;
301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)
303 See Other:表示请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源;
302与303的区别:后者明确表示客户端应当采用GET方式获取资源
304 Not Modified:表示客户端发送**附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)**的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码;
307 Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);

4xx (4种)
400 Bad Request:表示请求报文中存在语法错误;
401 Unauthorized:未经许可,需要通过HTTP认证;
403 Forbidden:服务器拒绝该次访问(访问权限出现问题)
404 Not Found:表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求但不想给拒绝原因时使用;

5xx (2种)
500 Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;
503 Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;

HTTP 请求⽅法
GET 请求指定的⻚⾯信息,并返回实体主体。
HEAD 类似于 GET 请求,只不过返回的响应中没有具体的内容,⽤于获取报头
POST 向指定资源提交数据进⾏处理请求(例如提交表单或者上传⽂件)。数据被包含在已有资源的修改。
PUT 从客户端向服务器传送的数据取代指定的⽂档的内容。
DELETE 请求服务器删除指定的⻚⾯。
CONNECT HTTP/1.1 协议中预留给能够将连接改为管道⽅式的代理服务器。
OPTIONS 允许客户端查看服务器的性能。
TRACE 回显服务器收到的请求,主要⽤于测试或诊断。
PATCH 是对 PUT ⽅法的补充,⽤来对已知资源进⾏局部更新 。

Request Header
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 发出请求的⽤户的Email From
Host 指定请求的服务器的域名和端⼝号
If-Match 只有请求内容与实体相匹配才有效
If-Modified-Since 如果请求的部分在指定时间之后被修改则请求成功,未被修改则返回304代码
If-None-Match 如果内容未改变返回304代码,参数为服务器先前发送的Etag,与服务器回应的Etag⽐较判断是否改变
If-Range 如果实体未改变,服务器发送客户端丢失的部分,否则发送整个实体。
If-Unmodified-Since 只在实体在指定时间之后未被修改才请求成功 。
User-Agent User-Agent的内容包含发出请求的⽤户信息
Referer 先前⽹⻚的地址,当前请求⽹⻚紧随其后,即来路

Responses Header
Accept-Ranges 表明服务器是否⽀持指定范围请求及哪种类型的分段请求
Age 从原始服务器到代理缓存形成的估算时间(以秒计,⾮负)
Allow 对某⽹络资源的有效的请求⾏为,不允许则返回
Cache-Control 告诉所有的缓存机制是否可以缓存及哪种类型
Content-Encoding web服务器⽀持的返回内容压缩编码类型
Content-Language 响应体的语⾔
Content-Length 响应体的⻓度
Content-Location 请求资源可替代的备⽤的另⼀地址
Content-MD5 返回资源的MD5校验值
Content-Range 在整个返回体中本部分的字节位置
Content-Type 返回内容的MIME类型
Date 原始服务器消息发出的时间
ETag 请求变量的实体标签的当前值
Expires 响应过期的⽇期和时间
Last-Modified 请求资源的最后修改时间
LastLocation ⽤来重定向接收⽅到⾮请求URL的位置来完成请求或标识新的资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值