zoukankan      html  css  js  c++  java
  • HTTP那些事儿

    一、HTTP和HTTPS
    HTTP协议通常承载于TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS。HTTP是超文本传输协议,信息是明文传输,而HTTPS是具有安全性的ssl加密传输协议。
    1、默认HTTP的端口号为80,HTTPS的端口号为443。
    2、为什么HTTPS安全?
    因为网络请求需要中间有很多的服务器路由器的转发,中间的节点都可能篡改信息,而如果使用HTTPS,密钥在你和终点站才有。HTTPS之所以比HTTP安全,是因为他利用SSL/TSL协议传输。它包含证书,卸载,流量转发,负载均衡,页面适配,浏览器适配,refer传递等,保障了传输过程的安全性。

    HTTPS能够加密信息,以阻止敏感信息被第三方获取,很多银行网站或电子邮箱等安全级别较高的服务都会采用HTTPS协议。

    采用HTTPS协议的服务器必须要有一套数字证书(一对公钥和私钥),可以自己制作,也可以向组织申请,区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。

    二、资源访问

    1、https页面访问http资源

    网站的域名是https协议,那么该网站下的图片,css,js,都必须是https协议,不能是http协议。下面提供4种解决方案。

    A、更改资源

    把资源都放到https域名下,这样https页面访问https的资源。

    B、相对路径

    <link rel="stylesheet" href="//url/xxx.css" type="text/css">
    <script type="text/javascript" src="//url/xxx.js"></script>
    
    .logo { background: url(//baidu.com/logo.png); }

    C、iframe方式

    用iframe把http的资源嵌入https页面。

    D、ajax请求

    2、http页面访问https资源

    网站的域名是http协议,那么该网站下的资源域名可以是http,也可以是https。

    三、HTTP2.0

    HTTP2.0可以说是SPDY的升级版,HTTP2.0支持明文HTTP传输,而SPDY强制使用HTTPS;HTTP2.0消息头的压缩算法采用HPACK,而SPDY采用的DEFLATE。
    HTTP - HTTPS - SPDY - HTTP2.0,一路进化,下面介绍HTTP2.0的新特性。

    1、采用二进制格式传输数据,而非http1.1的文本格式,二进制格式在协议的解析和优化扩展上带来更多的优势和可能;
    2、对消息头采用HPACK进行压缩传输,能够节省消息头占用的网络的流量,而http1.1 每次请求,都会携带大量冗余头信息,浪费了很多带宽资源;
    3、多路复用,就是多个请求都是通过一个TCP连接并发完成,http1.1虽然通过pipeline也能并发请求,但是多个请求之间的响应会被阻塞的,所以pipeline至今也没有被普及应用,而http2.0做到了真正的并发请求,同时还支持优先级和流量控制。
    4、服务端能够更快的把资源推送给客户端,例如服务端可以主动把JS和CSS文件推送给客户端,而不需要客户端解析HTML再发送请求,当客户端需要的时候,它已经存在。

     

  • 相关阅读:
    get和post
    java学习day34-Cookie技术
    java学习day33-Maven-相关
    在Linux设置完共享文件夹后无法显示Windows里的文件
    Tomcat-把tomcat的端口号从8080修改为80
    是否忘记向源中添加“#include“StdAfx.h””
    php-fpm配置文件详解
    Web安全常见漏洞修复建议
    blog个性化设置
    使用 notepad++ 编辑器在行首、行尾添加字符
  • 原文地址:https://www.cnblogs.com/camille666/p/http.html
Copyright © 2011-2022 走看看