投稿 资料上传 搜索
您现在的位置是: 首页 > 文章 > 正文

HTTP与HTTPS详解

一. HTTP

    1.介绍

        http是一个超文本传输协议,全称“Hyper Text Transfer Protocol”。它运行于TCP协议之上,是用于万维网服务器与本地浏览器之间传输超文本的协议。

    2.工作原理

        HTTP协议是基于客户端-服务器模式,通常浏览器作为HTTP客户端通过URLHTTP服务端发送所有请求,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.服务器将这个数字证书发送个客户端,客户端通过数字证书中的数字签名来验证公钥的真伪,确保服务器传过来的公开密钥是真实的,一般情况下证书的数字签名是很难被伪造的,这取决于认证机构的公信力,一旦去人信息无误后,客户端就会通过公开密钥对报文进行加密发送,服务器接收到以后用自己的私钥进行解密。


转载于:

文章标签:
阿里云服务器采购季
给作者打赏,鼓励TA抓紧创作!
评论