zoukankan      html  css  js  c++  java
  • HTTP入门

    HTTP(1991-0.9  1996-1.0  1999-1.1  2015-2.0)

    1、超 文本 传输协议 2、处理客户端和服务端之间的通信 3、http请求/返回 4、网页 / json / xml / 提交表单 / ···

    纯文本 + 无状态

    1、应用层协议

    2、信息纯文本传输

    3、无状态   

      - 每次请求独立  - 请求间互不影响

    4、浏览器提供了手段维护状态(Cookie,Session,* Storage等)

    设计的考虑因素

    基础因素 · 带宽 - 基础网络(线路、设备等)
    · 延迟

    - 浏览器  - DNS  - 建立连接(TCP三次握手)

    缓存与带宽优化 · 缓存

    - (http1.0)提供缓存机制,如IF-Modified-Since等基础缓存控制策略

    - (http1.1)提供E-Tag等高级缓存策略

    · 带宽优化

    - (http1.1)利用range头获取文件的某个部分

    - (http1.1)利用长连接让多个请求在一个TCP连接上排队

    - (http2.0)利用多路复用技术同时传输多个请求

    压缩/安全性 · 压缩

    - 主流web服务器如nginx/express等都提供gzip压缩功能

    - (http2.0)采用二进制传输,头部使用HPACK算法压缩

    HTTPS

    - 在HTTP和TCP/IP之间增加TSL/SSL

    - 数据传输加密(非对称+对称加密)

    HTTPS  

    1、安全超文本传输协议

    2、数据加密传输:  

      - 防止各种攻击手段(信息泄露、篡改等)

    3、SSL / TSL(二选一,TSL更安全)

      - SSL- 安全套接层  - TSL- 传输层安全性协议  - 需要在客户端安装证书

    Header 和 Body(图一没有response,说明http协议是个非常简单的文本协议,浏览器没有读到http协议,图二是http返回)

             

             ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                  

     fetch 

      - 在网络上获取数据的标准接口

    - 提供对请求/返回对象(标准Promise接口) - 提供自定义Header能力 - 提供跨域能力

     Whistle 

      - 跨平台网络调试工具

    - 需要SwitchOmega插件  - node.js 开发 - 支持抓包、重放、替换、修改等

    补充:

      1、前端最重要的两个指标:  - 跳出率  - 可交互时间(TTI)

      2、工具 curl

      

  • 相关阅读:
    路由器漏洞调试的一些技巧
    路由器漏洞挖掘利用的一些基础知识
    windows 利用环境变量%PATH%中目录可写提权

    python super原理,不是指父类
    regexp盲注的一些改进
    阿里规范
    阿里规范
    工具类
    Timer 使用 (一)
  • 原文地址:https://www.cnblogs.com/slightFly/p/14197183.html
Copyright © 2011-2022 走看看