美文网首页
第1章: HTTP 概述

第1章: HTTP 概述

作者: 404Not_Found | 来源:发表于2021-10-30 22:18 被阅读0次
    • 作者: 雪山肥鱼
    • 时间:20211031 19:10
    • 目的: HTTP 概述
    # HTTP - Internet多媒体信使
    # Web 客户端和服务器
    # 资源
      ## 媒体类资源 MIME 简介
      ## URI
      ## URL
    # 事务
      ## 方法
      ## 状态码
    # 报文
    # 连接
    # web 结构组件
      ## 代理
      ## 缓存
      ## 网关
      ## 隧道
      ## Agent 代理
    

    1.1 HTTP -- 因特网得多媒体信使

    HTTP 使用得是 可靠的数据传输协议

    1.2 Web 客户端和服务器

    web服务器,即 http 协议服务器。客户端发http请求,服务器将数据塞到http响应中


    echo.png

    浏览器会向服务器发送一条http请求。服务器会去寻找锁期望的对象(/index.html),如果成功,就将对象,对象类型,对象长度以及其他一些信息放在http响应中发送给客户端。

    1.3 资源

    资源是存储在服务器中的分为:

    • 静态资源:电影,word,图片等。
    • 动态资源: 根据request者的身份,所请求的信息,或者每天不同的时段来产生内容。


      image.png

    媒体类资源

    网络中有上千中数据类型。http仔细的给每种类型都打上了MIME类型标签。

    image.png

    MIME: Multipurpose Internet Mail Extension.
    当Web 浏览器从服务器中取回一个对象时,会去查看相关的MIME类型,查看http是否知道如何处理。

    MIME结构:
    Content-type: image/jpeg
    Image: 主要的对象类型
    jpeg: 子类型。

    工作中接触的比较多的MIME 类型为:application/json
    应用程序特有的内容格式,类型为 json

    URI

    服务器资源都有一个名字。被称为 URI: Uniform Resource Identifier.
    资源路径。

    URL

    URL 即 URI
    特定资源,特定位置。

    URL.png
    1. 方案/协议类型 scheme : http
    2. 地址
      3/ 资源路径
    image.png

    1.4 事务

    指客户端通过HTTP 与 Web 服务器进行资源处理的过程。


    image.png

    1.4.1 方法

    • get
      让服务器向客户端发送资源
    • put
      将来自客户端的数据存储到一个服务器资源路径中
    • delete
      删除资源
    • post
      将客户端数据发送到一个服务器网关应用程序中
    • head
      http首部

    1.4.2 状态码

    每条http响应报文返回时都会携带一个状态码。表明是否发送成功等。


    状态码.png

    1.4.3 Web页面中可以包含多个对象

    应用程序完成一项任务时,通常会发布多个http事务。比如 浏览器发布一些列的http事务获取并现实web页面。
    浏览器会先通过一个事务获取html框架,再发送一个事务去要图片,java小程序等。这些资源可能都不在同一台服务器上。


    image.png

    1.5 报文

    http 报文都是纯文本,而不是二进制代码。

    • 起始行
    • 首部字段
    • 主题
    example.png
    1. 请求报文
      get 目标地址,资源为 /tool.html. http 版本 1.0
    2. 回报
      版本,状态码,content length 说明相应主体的长度。
      content type 说明了文档的MIME 类型为 text/html

    返回的是一个 html网页

    1.6 连接

    http 是可靠连接,建立在tcp/ip 基础上。


    example.png

    这是刚才的例子
    流程

    1. 用户输入 url
    2. 获取主机名
    3. 向dns要地址
    4. 端口号默认80
    5. 建立连接
    6. 发送get请求
    7. 返回http相应
    8. 断开连接

    1.8 web 结构组件

    • 代理
      位于客户端和服务器之间的http中间实体
    • 缓存
      http的仓库,常用页面的副本可以保存在离客户端更近的地方。
    • 网关
      连接其他应用程序特殊的web 服务器
    • 隧道
      对http 通信报文进行盲文转发的特殊代理
    • agent 代理
      浏览器

    1.8.1 代理


    image.png

    代理接收客户端所有http请求。并将这些请求转发给服务器。
    出于安全考虑,通常会将代理作为转发所有web流量的可信任中间节点使用,代理还可以对请求和相应进行过滤。屏蔽一些嘿嘿嘿网站

    1.8.2 缓存
    缓存也是代理缓存。是一种特殊的http代理服务器。可以将经过代理传送的常用文档赋值保存下来。下一次请求,直接访问私有副本即可。


    image.png

    1.8.3 网关
    网关是一种特殊的服务器,作为其他服务器中间实体使用。通常将http流量转换成其他协议。网关接收请求时,就好像自己是资源的源端服务器一样。客户端并不知道自己正在与一个网关进行通信。
    如:


    image.png

    通过http/ftp 网关,将http 转换为ftp

    1.8.4 隧道
    隧道是建立起来之后,就会在两条连接之间对原始数据进行盲转发的http应用程序。http隧道通常用在一条活多条http连接上,转发非http数据。转发时不会窥探数据。


    隧道.png

    http/ssl 隧道收到一条http请求,要求建立一条道目的地址和端口的输出连接,然后在http信道上通过隧道传输加密的ssl流量。这样就可以将其盲转发道目的服务器上

    1.8.5 Agent 代理
    web 浏览器是一种http agent 代理。
    还有一些自己会在web上闲逛的自动用户Agent 代理,可以在无人监视的情况下,发布http事务,获取内容。网络爬虫。


    image.png

    相关文章

      网友评论

          本文标题:第1章: HTTP 概述

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