这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战算法
一、HTTP1.0定义了三种请求方式:GET,POST,HEAD浏览器
二、HTTP2.0新增了五种请求方式:options,put,delete,trace和connect缓存
GET:一般用于请求服务器发送某些资源安全
POST:发送数据给服务器,相比GET更安全服务器
HEAD:请求资源头部传送的信息,能够传递TOKEN或者判断文件大小肯定是否下载markdown
OPTIONS:获取目的资源所支持的通讯选项post
PUT:用于新增功能的请求,能够有效负载替换目标资源的表现形式性能
DELETE:用于删除功能的请求测试
Connect:HTTP1.1协议中预留给能将请求改成管道方式的代理服务器优化
Trace:回显服务器收到的请求,用于测试或诊断
1)GET经过URL传输数据,POST经过请求体传输
2)GET请求在URL中能够经过历史记录,缓存很容易查到数据信息;POST请求在主体中全部相比GET来讲更安全一些。
3)GET请求只容许ASCII字符,POST无限制
4)刷新和后退等浏览器操做对GET请求是无害的,POST可能会重复提交表单
5)GET具备只读性,不会引发服务器状态的变化,而且是幂等(指请求同一个方法和只执行一次的效果彻底相同);而POST是非安全幂等的
1)PUT是幂等的,POST非幂等
2)PUT的请求路径URL是单一的资源,POST能够指向资源集合
一、请求行:请求方法字段、URL字段、HTTP协议版本字段,这些使用空格分隔
二、请求头部:由关键字/值对组成,每行一对,
例如:User-Agent:产生请求的浏览器类型
Accept:客户端可识别的内容类型列表
Host:请求的主机名,容许多个域名同处一个IP地址,即虚拟主机
三、空行
四、请求体:PUT或POST请求体的数据
一、响应行:由协议版本,状态码和状态码的缘由组成,例如:HTTP/1.1 200 OK
二、响应头:响应部首组成
三、空行
四、响应体:服务器响应的数据
在HTTP1.0的时候每次请求都会建立一个链接,而建立链接会很耗费资源和时间,为了减小资源消耗,就须要用复用链接。因此在后期引用了重用链接的机制,就是在HTTP请求头中加入Connect: keep-alive来告诉服务器请求响应后不要关闭链接,从而保持长链接。
优势:
一、不占用CPU内存(由于建立链接次数少)
二、容许请求和响应的HTTP管线化
三、减小后续请求的延迟(无需再进行握手)
四、请求错误不会关闭TCP链接
五、下降拥塞控制
简介:HTTPS是安全版本的HTTP,由于HTTP协议是明文传输,因此若是由敏感信息传出就不安全,HTTPS则不会。
先说两种加密方式:
一、对称加密:通讯双方都使用同一个密钥进行加解密,可是没法把首次的密钥告诉对方,就会被黑客拦截密钥
二、非对称加密:私钥+公钥=密钥对;使用私钥加密的数据,只有对应的公钥才能解密,用公钥加密的时候,只有对应的私钥才能解密;由于通讯双方的手里都有一套本身的密钥对,因此能够放心的把公钥对发给对方,而后到各自解密的时候拿着本身的私钥解密便可。
看了以上两种加密方式,应该都能看出来非对称加密比较安全,可是非对称加密熟读更慢,耗费性能。因此又进行的优化,能够加入一个中间人进行管理,把每次经过中间人把双方通讯的公钥换成本身的私钥,这样就能够轻松解密通讯双方的全部数据,因此就产生一个CA证书,用来证实身份,防止黑客攻击;可是也为了防止中间人篡改信息,又新增了数字签名,就是用自带Hash算法对证书内容进行Hash获得摘要,再用私钥解密获得数字签名。
证书内容:签发者、证书用途、使用者私钥、使用者公钥、使用者的Hash算法、证书到期时间、数字签名等,一般阿里云和腾讯云买域名的时候能够买。
HTTP的知识真的好多,又能够分好几天写啦,算了一下,天天都要写两个小时以上的文章,白天工做,晚上写文章,加油。