当前位置: 首页 > news >正文

山西建设厅网站密钥网店美工设计论文

山西建设厅网站密钥,网店美工设计论文,辽宁建设工程信息网联合体投标,江苏关键词推广seowmproxy wmproxy是由Rust编写#xff0c;已实现http/https代理#xff0c;socks5代理#xff0c; 反向代理#xff0c;静态文件服务器#xff0c;内网穿透#xff0c;配置热更新等#xff0c; 后续将实现websocket代理等#xff0c;同时会将实现过程分享出来#xff…wmproxy wmproxy是由Rust编写已实现http/https代理socks5代理 反向代理静态文件服务器内网穿透配置热更新等 后续将实现websocket代理等同时会将实现过程分享出来 感兴趣的可以一起造个轮子法 项目 wmproxy gite: https://gitee.com/tickbh/wmproxy github: https://github.com/tickbh/wmproxy 关于HPACK相关数据的示例 长度编码的示例用5位的前缀示例 将10进行编码10小于2^5-1故 0 1 2 3 4 5 6 7 ------------------------ | X | X | X | 0 | 1 | 0 | 1 | 0 | 10 stored on 5 bits ------------------------将1337进行编码 1337大于2^5-1故前5位填充 0 1 2 3 4 5 6 7 ------------------------ | X | X | X | 1 | 1 | 1 | 1 | 1 | 31 ------------------------1337 - 31 1306大于128故需要二次填充用1306 mod 128 21首位填充1故8位填充为当前偏移值为7 0 1 2 3 4 5 6 7 ------------------------ | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 26 ------------------------对1301-2112801280 / 128 10 10 128故已经完成首位填0 0 1 2 3 4 5 6 7 ------------------------ | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 10 ------------------------最终的填充值 0 1 2 3 4 5 6 7 ------------------------ | X | X | X | 1 | 1 | 1 | 1 | 1 | Prefix 31, I 1306 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1306128, encode(154), I1306/128 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 10128, encode(10), done ------------------------头部编码示例 在静态列表中索引 以下待索引的值 :method: GET十六进制表示值82二进制表示10000010表示取静态表2的值查表为(:method, GET) 不在列表中但请求索引未使用HUFFMAN 以下示例 custom-key: custom-header十六进制表示 400a 6375 7374 6f6d 2d6b 6579 0d63 7573 | .custom-key.cus 746f 6d2d 6865 6164 6572 | tom-header解码过程 40 | 01开头请求索引 0a | name (长度 10) 6375 7374 6f6d 2d6b 6579 | custom-key 0d | value (长度 13) 6375 7374 6f6d 2d68 6561 6465 72 | custom-header| - custom-key:| custom-header动态表 (解码之后): [ 1] (占用 55) custom-key: custom-header 占用长度: 10133255 名字在列表中但不索引未使用HUFFMAN 以下示例 :path: /sample/path十六进制表示 040c 2f73 616d 706c 652f 7061 7468 | ../sample/path解码过程 04 | 0000开头请求不索引 | name从索引取 (idx 4)| 值为:path 0c | value (长度12) 2f73 616d 706c 652f 7061 7468 | /sample/path| - :path: /sample/path永不索引未使用HUFFMAN 以下示例 password: secret十六进制表示 1008 7061 7373 776f 7264 0673 6563 7265 | ..password.secre 74 | t解码过程 10 | 0001开头不索引 08 | name (长度8) 7061 7373 776f 7264 | password 06 | value (长度6) 7365 6372 6574 | secret| - password: secret完整的请求示例不使用HUFFMAN 以下几个示例将连接请求后续的会用到前面的动态列表 第一次请求. 示例如下 :method: GET :scheme: http :path: / :authority: www.example.com十六进制表示 8286 8441 0f77 7777 2e65 7861 6d70 6c65 | ...A.www.example 2e63 6f6d | .com解码过程 82 | Indexed - 静态表 | idx 2| - :method: GET 86 | Indexed - 静态表 | idx 6| - :scheme: http 84 | Indexed - 静态表 | idx 4| - :path: / 41 | 01开头请求索引 indexed | Indexed name (idx 1)| :authority 0f | Literal value (长度15) 7777 772e 6578 616d 706c 652e 636f 6d | www.example.com| - :authority: | www.example.com动态列表 (解码后): [ 1-62] (s 57) :authority: www.example.com 列表长度: 57 第二次请求. 示例如下新加了cache-control字段其它和第一次一样 :method: GET :scheme: http :path: / :authority: www.example.com cache-control: no-cache十六进制表示 8286 84be 5808 6e6f 2d63 6163 6865 | ....X.no-cache解码过程 82 | Indexed - 静态表 | idx 2| - :method: GET 86 | Indexed - 静态表 | idx 6| - :scheme: http 84 | Indexed - 静态表 | idx 4| - :path: / be | Indexed - 动态表索引值62及以上的为动态表 | idx 62| - :authority:| www.example.com 58 | Literal indexed | Indexed name (idx 24)| cache-control 08 | Literal value (8) 6e6f 2d63 6163 6865 | no-cache| - cache-control: no-cache动态列表 (解码后): [ 1-62] (s 53) cache-control: no-cache [ 2-63] (s 57) :authority: www.example.com 总长度: 110 第三次请求. 示例如下 :method: GET :scheme: https :path: /index.html :authority: www.example.com custom-key: custom-value十六进制表示 8287 85bf 400a 6375 7374 6f6d 2d6b 6579 | .....custom-key 0c63 7573 746f 6d2d 7661 6c75 65 | .custom-value解码过程 82 | Indexed - 静态表 | idx 2| - :method: GET 87 | Indexed - 静态表 | idx 7| - :scheme: https 85 | Indexed - 静态表 | idx 5| - :path: /index.html bf | Indexed - 动态表 | idx 63| - :authority:| www.example.com 40 | Literal indexed 0a | Literal name (长度10) 6375 7374 6f6d 2d6b 6579 | custom-key 0c | Literal value (长度12) 6375 7374 6f6d 2d76 616c 7565 | custom-value| - custom-key:| custom-value动态列表 (解码后): [ 1-62] (s 54) custom-key: custom-value [ 2-63] (s 53) cache-control: no-cache [ 3-64] (s 57) :authority: www.example.com 总长度: 164 完整的请求示例和上述例子一模一样但是使用HUFFMAN) 以下几个示例将连接请求后续的会用到前面的动态列表 第一次请求. 示例如下 :method: GET :scheme: http :path: / :authority: www.example.com十六进制表示 8286 8441 8cf1 e3c2 e5f2 3a6b a0ab 90f4 | ...A......:k.... ff | .比之前少了3字节 解码过程 82 | Indexed - 静态表 | idx 2| - :method: GET 86 | Indexed - 静态表 | idx 6| - :scheme: http 84 | Indexed - 静态表 | idx 4| - :path: / 41 | Literal indexed | Indexed name (idx 1)| :authority 8c | Literal value (长度12)| Huffman encoded: f1e3 c2e5 f23a 6ba0 ab90 f4ff | .....:k.....| Decoded:| www.example.com| - :authority:| www.example.com动态列表 (解码后): [ 1-62] (s 57) :authority: www.example.com列表长度: 57第二次请求. 示例如下新加了cache-control字段其它和第一次一样 :method: GET :scheme: http :path: / :authority: www.example.com cache-control: no-cache十六进制表示 8286 84be 5886 a8eb 1064 9cbf | ....X....d..比之前少了2字节 解码过程 82 | Indexed - 静态表 | idx 2| - :method: GET 86 | Indexed - 静态表 | idx 6| - :scheme: http 84 | Indexed - 静态表 | idx 4| - :path: / be | Indexed - 动态表 | idx 62| - :authority:| www.example.com 58 | Literal indexed | Indexed name (idx 24)| cache-control 86 | Literal value (长度6)| Huffman encoded: a8eb 1064 9cbf | ...d..| Decoded:| no-cache| - cache-control: no-cache动态列表 (解码后): [ 1-62] (s 53) cache-control: no-cache [ 2-63] (s 57) :authority: www.example.com列表长度: 110第三次请求. 示例如下 :method: GET :scheme: https :path: /index.html :authority: www.example.com custom-key: custom-value十六进制表示 8287 85bf 4088 25a8 49e9 5ba9 7d7f 8925 | .....%.I.[.}..% a849 e95b b8e8 b4bf | .I.[....比之前少了5字节 解码过程 82 | Indexed - 静态表 | idx 2| - :method: GET 87 | Indexed - 静态表 | idx 7| - :scheme: https 85 | Indexed - 静态表 | idx 5| - :path: /index.html bf | Indexed - 动态表 | idx 63| - :authority:| www.example.com 40 | Literal indexed 88 | Literal name (长度8)| Huffman encoded: 25a8 49e9 5ba9 7d7f | %.I.[.}.| Decoded:| custom-key 89 | Literal value (长度9)| Huffman encoded: 25a8 49e9 5bb8 e8b4 bf | %.I.[....| Decoded:| custom-value| - custom-key:| custom-value动态列表 (解码后): [ 1-62] (s 54) custom-key: custom-value [ 2-63] (s 53) cache-control: no-cache [ 3-64] (s 57) :authority: www.example.com总长度: 164HUFFMAN编码在于首次如果数据较大的时候优势会更加明显如果数据较小或者在后续的时候与普通编码命中索引时基本一致。 完整的返回示例(HUFFMAN) HUFFMAN与普通的差别在于字符串编解码时的差别这里只介绍一种并且设置SETTINGS_HEADER_TABLE_SIZE为256 以下几个示例将连接请求后续的会用到前面的动态列表 第一次返回. 示例如下 :status: 302 cache-control: private date: Mon, 21 Oct 2013 20:13:21 GMT location: https://www.example.com十六进制表示 4882 6402 5885 aec3 771a 4b61 96d0 7abe | H.d.X...w.Ka..z. 9410 54d4 44a8 2005 9504 0b81 66e0 82a6 | ..T.D. .....f... 2d1b ff6e 919d 29ad 1718 63c7 8f0b 97c8 | -..n..)...c..... e9ae 82ae 43d3 | ....C. 解码过程 48 | Literal indexed | Indexed name (idx 8)| :status 82 | Literal value (长度2)| Huffman encoded: 6402 | d.| Decoded:| 302| - :status: 302 58 | Literal indexed | Indexed name (idx 24)| cache-control 85 | Literal value (长度5)| Huffman encoded: aec3 771a 4b | ..w.K| Decoded:| private| - cache-control: private 61 | Literal indexed | Indexed name (idx 33)| date 96 | Literal value (长度22)| Huffman encoded: d07a be94 1054 d444 a820 0595 040b 8166 | .z...T.D. .....f e082 a62d 1bff | ...-..| Decoded:| Mon, 21 Oct 2013 20:13:21| GMT| - date: Mon, 21 Oct 2013| 20:13:21 GMT 6e | Literal indexed | Indexed name (idx 46)| location 91 | Literal value (长度17)| Huffman encoded: 9d29 ad17 1863 c78f 0b97 c8e9 ae82 ae43 | .)...c.........C d3 | .| Decoded:| https://www.example.com| - location:| https://www.example.com动态列表 (解码后): [ 1-62] (s 63) location: https://www.example.com [ 2-63] (s 65) date: Mon, 21 Oct 2013 20:13:21 GMT [ 3-64] (s 52) cache-control: private [ 4-65] (s 42) :status: 302Table size: 222第二次请求. 示例如下只是状态码发生了变更 :status: 307 cache-control: private date: Mon, 21 Oct 2013 20:13:21 GMT location: https://www.example.com十六进制表示 4883 640e ffc1 c0bf | H.d.....解码过程 48 | Literal indexed | Indexed name (idx 8)| :status 83 | Literal value (长度3)| Huffman encoded: 640e ff | d..| Decoded:| 307| - evict: :status: 302| - :status: 307 c1 | Indexed - Add | idx 65| - cache-control: private c0 | Indexed - Add | idx 64| - date: Mon, 21 Oct 2013| 20:13:21 GMT bf | Indexed - Add | idx 63| - location:| https://www.example.com动态列表 (解码后): [ 1-62] (s 42) :status: 307 [ 2-63] (s 63) location: https://www.example.com [ 3-64] (s 65) date: Mon, 21 Oct 2013 20:13:21 GMT [ 4-65] (s 52) cache-control: privateTable size: 222由于(:status, 302)的长度为42且42222264256所以舍弃最大值 第三次请求. 示例如下 :status: 200 cache-control: private date: Mon, 21 Oct 2013 20:13:22 GMT location: https://www.example.com content-encoding: gzip set-cookie: fooASDJKHQKBZXOQWEOPIUAXQWEOIU; max-age3600; version1十六进制表示 88c1 6196 d07a be94 1054 d444 a820 0595 | ..a..z...T.D. .. 040b 8166 e084 a62d 1bff c05a 839b d9ab | ...f...-...Z.... 77ad 94e7 821d d7f2 e6c7 b335 dfdf cd5b | w..........5...[ 3960 d5af 2708 7f36 72c1 ab27 0fb5 291f | 9....6r....). 9587 3160 65c0 03ed 4ee5 b106 3d50 07 | ..1e...N...P.比之前少了5字节 解码过程 88 | Indexed - 静态表 | idx 8| - :status: 200 c1 | Indexed - 动态表 | idx 65| - cache-control: private 61 | Literal indexed | Indexed name (idx 33)| date 96 | Literal value (长度22)| Huffman encoded: d07a be94 1054 d444 a820 0595 040b 8166 | .z...T.D. .....f e084 a62d 1bff | ...-..| Decoded:| Mon, 21 Oct 2013 20:13:22| GMT| - evict: cache-control:| private| - date: Mon, 21 Oct 2013 | 20:13:22 GMT c0 | Indexed - Add | idx 64| - location:| https://www.example.com 5a | Literal indexed | Indexed name (idx 26)| content-encoding 83 | Literal value (长度3)| Huffman encoded: 9bd9 ab | ...| Decoded:| gzip| - evict: date: Mon, 21 Oct| 2013 20:13:21 GMT| - content-encoding: gzip 77 | Literal indexed | Indexed name (idx 55)| set-cookie ad | Literal value (长度45)| Huffman encoded: 94e7 821d d7f2 e6c7 b335 dfdf cd5b 3960 | .........5...[9 d5af 2708 7f36 72c1 ab27 0fb5 291f 9587 | ....6r....)... 3160 65c0 03ed 4ee5 b106 3d50 07 | 1e...N...P.| Decoded:| fooASDJKHQKBZXOQWEOPIUAXQ| WEOIU; max-age3600; versi| on1| - evict: location:| https://www.example.com| - evict: :status: 307| - set-cookie: fooASDJKHQ| KBZXOQWEOPIUAXQWEOIU; ma| x-age3600; version1动态列表 (解码后): [ 1-62] (s 98) set-cookie: fooASDJKHQKBZXOQWEOPIUAXQWEOIU;max-age3600; version1 [ 2-63] (s 52) content-encoding: gzip [ 3-64] (s 65) date: Mon, 21 Oct 2013 20:13:22 GMT 总长度: 215动态列表保留着一个最大的缓存大小值每一个键值对的计算为name的字节数value的字节数32为确定的大小值。超出大小部分则丢弃不缓存默认大小为4096。 总结 HPACK管理着HTTP2的头部的协议部分有着高压缩比和重复请求的高复用性双方编码解码需要各自维持一份动态表动态根据处理数据来动态拓展保证双方维持的表一模一样。从而保证ID索引不会乱。Huffman编码把头里面需要用到字符串的数据进行进一步的压缩相对来说整个过程复杂度比HTTP1高很多但相对的对使用者完全透明在不影响其使用的情况下提高传输效率并减少带宽的使用量。
http://www.sadfv.cn/news/27545/

相关文章:

  • 汽车网站建设策划方案网站开发的ie兼容做到9
  • 网站制作器手机版柳州seo培训
  • 拜师做网站正规电商培训学校排名
  • 四川网站开发哪家好网站建设云尚网络
  • html5开发手机网站猪八戒网仿照哪个网站做的
  • 装修建材网站模板wordpress本地做好如何改站点地址
  • 陕西宁德建设工程有限公司网站上传网站工具
  • 网站建设推广好处网站开发费用报价表百度
  • 包头网站建设熊掌号怎样弄免费网站
  • 织梦后台怎么做导航栏的网站首页企业建网站得多少钱
  • 自己开发电商网站难吗2003 建设网站
  • 网站源码超市抖音制作图片的软件
  • 赣榆网站建设最好的优化公司排名
  • 怎么创建免费自己的网站平台网站框架有哪些
  • 企业网站搭建项目概述范文房屋装修网
  • 建筑设计网站大全网站网站开发工程师ppt
  • 免费建各种网站google代理服务器地址
  • 市建设局网站的综合业务管理平台wordpress注册修改密码
  • wordpress网站模板下载失败信息产业部网站备案系统
  • 免费隐私网站推广网站seo入门基础教程书籍
  • 如何做网站清风制作郑州做网站怎么样
  • 网站分哪些种类学网站美工设计
  • 接单做网站的网络营销渠道优化
  • 做网站怎么赚钱 注册目前最好的旅游网站
  • 那种网站打不开网站 做 app
  • wordpress临时关站网页设计 传统网站
  • 网站备案表不会写布吉做棋牌网站建设哪家服务好
  • xp 做网站服务器大理州建设局网站门户网
  • 如何利用wordpress编辑网站网站建设安全规划
  • 网站开发公司排行网络营销是什么时候出现的