美文网首页
网络底层原理之HTTP

网络底层原理之HTTP

作者: 甲乙飞鱼 | 来源:发表于2021-05-27 16:59 被阅读0次

    HTTP

    • URI 和 URL的关系:URI包括了URL。
    1. html/login.html,这是个URI,它 不能在网唯一标识。
    2. http://localhost:8080/hello/html/login.html 这个URI 可以在全网唯一标识,称为 URL。
    • HTTP(Hyper Text Transfer Protocol),超文本传输协议
    1. 是互联网中应用最广泛的应用层协议之一
    2. 设计HTTP最初的目的是:提供一种发布和接收HTML页面的方法,由URI来标识具体的资源
    3. 后面用HTTP来传递的数据格式不仅仅是HTML,应用非常广泛
    4. HTML(Hyper Text Markup Language) 超文本标记语言 用以编写网页

    HTTP版本

    • 1991年,HTTP/0.9
    1. 只支持GET请求方法获取文本数据(比如HTML文档),且不支持请求头、响应头等,无法向服务器传递太多信息
    • 1996年,HTTP/1.0
    1. 支持POST、HEAD等请求方法,支持请求头、响应头等,支持更多种数据类型(不再局限于文本数据)
    2. 浏览器的每次请求都需要与服务器建立一个TCP连接,请求处理完成后立即断开TCP连接
    • 1997年,HTTP/1.1(最经典、使用最广泛的版本)
    1. 支持PUT、DELETE等请求方法
    2. 采用 持久连接(Connection: keep-alive),多个请求可以共用同一个TCP连接
    • 2015年,HTTP/2.0
    • 2018年,HTTP/3.0

    HTTP的标准

    • 由万维网协会(W3C)、互联网工程任务组(IETF)协调制定,最终发布了一系列的RFC
    • RFC(Request For Comments,可以译为:请求意见稿)
    1. HTTP/1.1最早是在1997年的 RFC 2068 中记录的
      该规范在1999年的 RFC 2616 中已作废
      2014年又由 RFC 7230 系列的RFC取代
    2. HTTP/2标准于2015年5月以 RFC 7540 正式发表,取代HTTP/1.1成为HTTP的实现标准

    HTTP报文格式(简)

    HTTP报文格式.png

    请求方法

    • GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE
    1. GET 常用于读取的操作,请求参数直接拼接在URL的后面(浏览器对URL是有长度限制的)
    2. POST 常用于添加、修改、删除的操作,请求参数可以放到请求体中(没有大小限制)
    3. HEAD 请求得到与GET请求相同的响应,但没有响应体
      使用场景:在下载一个大文件前,先获取其大小(HEAD),再决定是否要下载(GET)。以此可以节约带宽资源
    4. OPTIONS 用于获取目的资源所支持的通信选项,比如 服务器支持的请求方法
    5. PUT 用于对已存在的资源进行整体覆盖
    6. PATCH 用于对资源进行部分修改(资源不存在,会创建新的资源)
    7. DELETE 用于删除指定的资源
    8. TRACE 请求服务器回显其收到的请求信息,主要用于HTTP请求的测试或诊断
    9. CONNECT 可以开启一个客户端与所请求资源之间的双向沟通的通道,它可以用来创建隧道(tunnel)

    请求头字段

    1.png 2.png
    • 注意:q 值越大,表示优先级越高,如果不指定q值,默认是1.0(1.0是最大值)


      3.png

    响应头字段

    4.png 5.png 6.png

    代理服务器

    • 本身不生产内容
    • 处于中间位置转发上下游的请求和响应
      面向下游的客户端:它是服务器
      面向上游的服务器:它是客户端
    正向代理、反向代理
    • 正向代理:代理的对象是 客户端
    • 反向代理:代理的对象是 服务器


      正向代理与反向代理.png
    正向代理的作用
    • 隐藏客户端身份
    • 绕过防火墙(突破访问限制)
    • Internet访问控制
    • 数据过滤

    • 正向代理.png
    反向代理的作用
    • 隐藏服务器身份
    • 安全防护
    • 负载均衡


      反向代理.png

    CDN (内容分发网络)

    • 利用最靠近每位用户的服务器

    • 更快更可靠地将音乐、图片、视频等资源文件(一般是静态资源)传递给用户


      CDN.png
    • CDN运营商在全国、乃至全球的各个大枢纽城市都建立了机房

    • 部署了大量拥有高存储高带宽的节点,构建了一个跨运营商、跨地域的专用网络

    • 内容所有者向CDN运营商支付费用,CDN将其内容交付给最终用户


      CDN1.png
    • CDN使用前


      CDN使用前.png
    • CDN使用后


      CDN使用后.png

    相关文章

      网友评论

          本文标题:网络底层原理之HTTP

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