美文网首页
HTTP 和 HTTPS 的简单认识

HTTP 和 HTTPS 的简单认识

作者: yanlong107 | 来源:发表于2020-05-06 09:30 被阅读0次

    关于HTTP

    HTTP是什么?

    维基百科 对HTTP的介绍如下

    超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议[1]。HTTP是万维网的数据通信的基础。

    URL 格式

    可以看看下面的一个URL例子:

    http://www.gov.cn/xinwen/2020-05/05/content_5508775.htm
    

    其中 URL 格式可以分为3个部分
    协议类型://服务器地址(和端⼝号)/路径(Path)

    协议类型 : http
    服务器地址(和端⼝号) : www.gov.cn
    路径 : xinwen/2020-05/05/content_5508775.htm

    HTTP报文

    在chrome中使用 F12 可以查看请求记录。


    这里访问
    http://www.gov.cn/xinwen/2020-05/05/content_5508775.htm
    的请求和响应报文信息如下:

    General:
    Request URL: http://www.gov.cn/xinwen/2020-05/05/content_5508775.htm
    Request Method: GET   // 请求方法
    Status Code: 200 OK   // 响应状态码 200 和 响应状态信息 OK
    Remote Address: 183.47.233.6:80
    Referrer Policy: no-referrer-when-downgrade
    
    
    Response Headers:
    Accept-Ranges: bytes
    Connection: keep-alive
    Content-Type: text/html
    Date: Tue, 05 May 2020 05:45:23 GMT
    Server: Apache
    Transfer-Encoding: chunked
    X-Cache: HIT from BC13_dx-guangdong-jiangmen-7-cache-1(baishan)
    X-Powered-By: ModLayout/5.1
    X-Ser: BC233_dx-lt-shandong-qingdao-2-cache-8, BC13_dx-guangdong-jiangmen-7-cache-1
    

    Request Method 请求⽅法

    1. GET
    • 一般用于获取资源
    • 不需要发送body数据
    • 不对服务器数据进行修改
    2. POST
    • 对服务器数据进行修改(增加)
    • 需要发送body数据
    3. PUT
    • 修改服务器资源使用
    • 发送给服务器的数据在body中
    4. DELETE
    • 用于删除服务器资源
    • 不需要发送body数据

    Request Status Code 状态码

    • 1xx:临时性消息。如:100 (继续发送)、101(正在切换协议)
    • 2xx:成功。最典型的是 200(OK)201(创建成功)
    • 3xx:重定向。如 301(永久移动)、302(暂时移动)、304(内容未改变)
    • 4xx:客户端错误。如 400(客户端请求错误)、401(认证失败)、403(被禁⽌)、404(找不到内容)
    • 5xx:服务器错误。如 500(服务器内部错误)

    报文Header 类型

    Host

    ⽬标主机

    Content-Type
    • text/html :请求web页面时候返回类型。
    • x-www-form-urlencoded: Web ⻚⾯纯⽂本表单的提交⽅式
    • multitype/form-data: Web ⻚⾯含有⼆进制⽂件时的提交⽅式
    • application/json:body为json数据。
    • image/jpeg: body是图片文件
    • application/zip:body是压缩文件
    Content-Length

    body中数据长度

    Location

    指定重定向的⽬标 URL

    User-Agent

    ⽤户代理,即是谁实际发送请求、接受响应的,例如⼿机浏览器、某款⼿机 App

    Range / Accept-Range

    Accept-Range: bytes响应报⽂中出现,表示服务器⽀持按字节来取范围数据
    Range: bytes=<start>-<end> 请求报⽂中出现,表示要取哪段数据
    Content-Range:<start>-<end>/total响应报⽂中出现,表示发送的是哪段数据
    作⽤:断点续传、多线程下载

    关于HTTPS

    HTTPS 是在 HTTP 的基础上,增加一个安全层,用于保障HTTP的加密传输。
    HTTP over SSL (Secure Socket Layer)
    TLS (Transport Layer Secure)

    TCP/IP 协议族

    为了解决在现实环境中的网络不稳定情况,网络传输进行了分层设计, 其中使用到的协议,统称 TCP/IP 协议族。

    • Application Layer 应⽤层 : HTTP 、FTP 、 DNS 协议
    • Transport Layer 传输层:TCP、UDP (主要进行数据的分块和跟踪)
    • Internet Layer ⽹络层:IP (主要进行数据的传输)
    • Link Layer 数据链路层:以太⽹、Wi-Fi

    HTTPS 通信大概流程

    • 客户端发起HTTPS连接请求
    • 服务器发回证书
    • 客户端校验证书
    • 客户端信任服务器后,协商对称加密密钥
    • 使用对称密钥开始通信

    END!

    相关文章

      网友评论

          本文标题:HTTP 和 HTTPS 的简单认识

          本文链接:https://www.haomeiwen.com/subject/zrnlihtx.html