先说结论:Request和Response可以设置gzip压缩从而节省流量/带宽,这是一个不常见的问题。具体可见连接:HTTP 协议之压缩

  最近测试代理服务器时,意外的发现使用urlopen请求百度首页时,会返回两种结果,一种是正常的百度首页html源码(以下简称正常结果),一种是'乱码'。样例如下:

\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\x8dVKo\xe36\x10\xfe+*\x8d\xbd\x04\xd6\xcb\x89\x13G\xb2\rl\x1c\x17\xbb\xa7\x16\xc5\x16\xc8.\n\x18\x94H\xc9L$QKQ~\xaca\xa0=\xb7\xb7\x9ezj/\xed\xb9\xbd-\x8a\xb6\xbf&\x8bEO\xfd\x0b\x1dJ\x94-\xc7IQ\x08\x90\xc4\xe1\xc7y|3\x1cr\xf8\xc9\xf5g\x93W\xaf?\x9f\x1as\x99&\xe3\xa1~SL\xc6\xc3\x94J\x0cb\x99\x9b\xf4m\xc9\x16#\x14\xf2L\xd2L\x9ar\x9dSd\xe8\xd1\x08I\xba\x92\xb6Z\xe8\x87s,\n*G\xa5\x8c\xcc\x01zD\xc3\x8d\xf9\xe5ss\xc2\xd3\x1cK\x16$m%/\xa7\xa3)\x89),JXvg\x08\x9a\x8cP1\xe7B\x86\xa54\x18\xc0\x901\x174\x1a!;\xc2\x0b5\xb6\xe0\x85\x0c\xe5\xca\x08\xb1\x14\xc7\xd4^\x99\x15n<\x94L&t\xfc\xf1\x87\xbf>\xfc\xfe\xcb\xfd\xfb\xaf\xef\xdf\x7f\xfb\xcf\x1f\xdf\xdd\xff\xf9\xd3\x87_\x7f\xfb\xf8\xe3\xcf\x7f\x7f\xf3\xfd\xd0\xae!\xc3B\xae\xe1\xa3|\xef\x06\x9c\xac7s\xca\xe2\xb9\xf4\\\xc7y\xb6U\xd2\r_P\x11%|i\xae=\\J\xbe\xadP\x118\xed\xb9\xbd|e`\xc1p\xe2\x078\xbc\x8b\x05/3\xe2u\xa2(\xaa@\xdd\xbc\x1bq\x91v\xcb\xa4\x9b\xb0M\x8aE\xcc2\xcf\xf1sL\x08\xcbb\xf8KX!\xcd\xca\xbe\x97\xf1\x8c\xd6\x8b\xd4\x92M\xce\x0b&\x19\xcf< \x01xZ\xd0-K\xe3M\xc0\x05\xa1\xc2s\xb6x\x13\xf2\x84\x0b\xaf\xe38\xe1\x16{8T\x90F\x16\x9d;[\x96\xe5\xa5\xdc\xe1\xf7&\xb7\x9d\xa5\xc0yN\xc5\xb1\x05\x7f\xb6\x13\xf9)\xcb\xcc6\x0f\x1dU\r\x1b\xad\xc5\x0c\xb8\x94<U3\xf9\xcaW\x997q\xc2\xe2\xcc\x0b!\x8bT\xf8\'\xefL\x96\x11\xba\xf2\xdc\xbd5\xa5p\xc9\x88\x9c{\x03W\xadj)o\x1b;W*\x1bkG\x0e>\xb0\xef\xfc\x0f-\x86\xa5\xde\xb3\xc6\x8d\x83\x98*\xa2uVzU&!\xbb\x86\xe3\xd7~\x9e\x9f\xb9\x87\xd1%4\x92\xfe.4\x07\xa8\xbc[>\x92\'\xab\x98\x052\xdb\xd4J.\xfb\xfbXO\xc1\xc4.\x04\xc9s\x0f\xc6_]\xfa\xaa\x90\xcc\x82\xbd\xa3\x9e{\x06\x80}\x1d\x99:\x9d\x84\x90\xb6tg\xd11\xcc\xb3\x01\xac\x08KQ\x00.\xe7L\xb1\x7fh\xbfNQ\xe3\xc0\xb9BWJ\x97s&i\xdb\xb4\xf23\xa1\x12\x14\x98E\x8eCU+\xee\x817^\xe7\xf4t\xd0\x8f"\xbf\xae\xa9]\r\x00m\x05O\x181:=r1\x88\xce|^J\xd8\xbd\xd4K)ae\xea\x9f\x1c\xe2\x1d\xdf\\\xd2\xe0\x8e\x01\xa9\x90\x10,p\x16\xd6\xb5\xbf\x93k\xbc\xc0\xb0\xbc\x80\x82\xad\xe3\x81\x0c6\x94^\xb4"R\x8c\x11V\xe4\t^{,Sv\xcd \xe1\xe1\xdd\xa3\x84\x99n\x0f\xd8\xd0\xac\x9d\x1c\x97W\x93[\xc7\x87\r/Y\x88\x13\x9dyH\xd6\x91\x1b\xaaV\x1a7\xaa\xff\xa7x\x91\x10#P*`o\x1c\x91\xa1\xb4\xb2\\*\xad\xad\x88\xf6R+\x88\xbb;\xc3j\xd0)J\xf8lZ\xd1Um\xaf\xee\x1e{ez\xdf\xb7\x92\x13\x9c\xab\xa7qRW\xd6E\xa0\x9efr\xff\xad\xe5\x0f[\xda\xe3D\x1fS\xa5\xf7O\xff\xf4\x12h\xae\xb7\x97)\xaa\xe0\x9c\xc6~5\xd4\xfd\xc0y\xe0T0PO\x9b6\xa3\x13\x86\xa1\xa1\'\xfc\xa6\x1b{sF\x08\xcdt\xd4:+\xfd\xde\xf9\xbe:\xd4\x9e\xf6\xeb>\rR\xdb\x1d\xec\x9au\xe5\x7f\x0b\x05\xdbP\xf7\x01\x00\x1a\x0e<\x17\xfb\xbd\xaa<\xdc3\xd1N\xe7\xae\xbd65\xffdu+/\x1f\xef\xeb\xbe\xea\x04\xa7\x03\xab\xf7\xac\xc1\xcc\x9e\xee\xd0\nk\xba\x97\x90\xd7\xed\xd0\xae\xcf\xad\xa1]\x1f\xd4\xea\xe80\xd4\xb19Bp(\xc0\xb1\x10\xc2!H\xd8\xc2`d\x84\xb4\xc6\x96D-\xd2\xc30\xc1EQKf\x87@=S\xbb\xf5\x98lv\xac8\x89a\x00g\x95\x01\xe9\xa1\x11\x0fK\x00KQRT\x88\x10\x8c\xc0=\xc0\xb3\xed\xe5ri\x05\x98\x91\xd2\nyj\x03\xda\x0e\xc8,\xe11w\xad<\x8bQ\x95\xcb\x11\xea]8\xa8N\xd2\x08\xb9\xbdK\xd0k\x83\x95\xf1PY\xaelUne8\x85\xd3?B\xea\x0c\xe4\x19\xdc\r\n\xa4}\x8c\x94\xcf\xd5A\xa8\xaf\x08u\xc5\xe8\x15\x8c\xa2\x05NJ\xf8kn*OB\xc3y\x03\xfd/\x94\xcc\x1aT\x15\x1a@\xa1N\xb2\x86\xb0 6\x9a\xed\xd9\xcc\xa8\x10\x94$\x9fs\xc9UtJ\xda\x18P\x93wK\xadzI\xd0\x8ewX\xb1\xf3&\xc5\xab\x84fqEV\xbf\x8fT\x1f\x02Bsh\xe40\xcb\xa3h\xaf\xf4\xc8\x95\xba\xa7<\x88\xa7(\x83\x94I\xa4l\x17ec\xa5}\x87B\x0fT\xec\r\xd8*\x19M\x86\xeawS\x12\xa5\x8b\x0e\'\x0e\xa7#9\xa9nl\xed\xb9"\x14\x10\xe7x\x81\x85\x91\x92>Dw\xeaL>\xbd\xba\xb9zsu3\x99L\xae\xaf^O\xa6\xd7_L\x9f_\xbf\x9a\xbe\x80\xef\xcb\xeb7\x08\xfc\xa8\xd7\xe8\xb5F\xbb\xdeH\xd2\xb3na\xe3s\x9cU\x15w\xfb\xb6\xa4b\xad?\xa6k\xb9\x8e5\xb0\xe0\x02a\xdd\x16UDZSu\xa1\x1d\xff\x0b\xaaR\xe1\t\x1f\x0b\x00\x00

  并且,作者尝试了请求五十次,结果如下:

请求地址 返回‘乱码’ &使用代理(阿里云) 返回‘乱码’ &不使用代理
http://www.baidu.com/ 45 26
http://www.baidu.com 0 9

  然后作者查看了异常结果的Response.info(),如下:

Server: Apache-Coyote/1.1
Cache-Control:
Content-Type: text/html;charset=UTF-8
Content-Encoding: gzip
Content-Length: 1285
Set-Cookie: fist_user=1;Domain=.baidu.com;Path=/;Max-Age=300
Pragma: no-cache

  可以看出,Response可能采用的Gzip编码。使用Gzip对其进行解码,得到的结果与正常结果一样。解码代码如下:

import urllib
import gzip
from StringIO import StringIO
Response= urllib.urlopen("http://www.baidu.com",proxies=proxies)
buf = StringIO(Response)
f = gzip.GzipFile(fileobj=buf)
data = f.read()
print data

  然后,作者搜索了Response+gzip的相关内容,发现使用gzip对Request和Response进行压缩是一种很常用的技术(节省流量),至于刚开始为什么一部分成功一部分不成功,估计和网速有关吧,百度服务器的设置。

附录

  1. Gzip压缩的好处:简单来说, Gzip压缩是在一个文本文件中找出类似的字符串, 并临时替换他们,使整个文件变小。这种形式的压缩对Web来说非常适合, 因为HTML和CSS文件通常包含大量的重复的字符串,例如空格,标签。
  2. 正常网页的Response.info()如下:
    Date: Fri, 26 May 2017 09:47:21 GMT
    Content-Type: text/html; charset=utf-8
    Connection: Close
    Vary: Accept-Encoding
    Set-Cookie: BAIDUID=BC372CE9BA2818456F638398397AA396:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
    Set-Cookie: BIDUPSID=BC372CE9BA2818456F638398397AA396; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
    Set-Cookie: PSTM=1495792041; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
    Set-Cookie: BDSVRTM=0; path=/
    Set-Cookie: BD_HOME=0; path=/
    Set-Cookie: H_PS_PSSID=23080_1457_21114_22748_22916_20929; path=/; domain=.baidu.com
    P3P: CP=" OTI DSP COR IVA OUR IND COM "
    Cache-Control: private
    Cxy_all: baidu+be1deb4364f132ec4f46c09e73d3c3a2
    Expires: Fri, 26 May 2017 09:47:00 GMT
    X-Powered-By: HPHP
    Server: BWS/1.1
    X-UA-Compatible: IE=Edge,chrome=1
    BDPAGETYPE: 1
    BDQID: 0xe2d7aa44000004ed
    BDUSERID: 0
  3. 测试源码
    import urllib
    # # a=urllib.getproxies()
    # # print a
    a ='\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03\x8dVKo\xe36\x10\xfe+*\x8d\xbd\x04\xd6\xcb\x89\x13G\xb2\rl\x1c\x17\xbb\xa7\x16\xc5\x16\xc8.\n\x18\x94H\xc9L$QKQ~\xaca\xa0=\xb7\xb7\x9ezj/\xed\xb9\xbd-\x8a\xb6\xbf&\x8bEO\xfd\x0b\x1dJ\x94-\xc7IQ\x08\x90\xc4\xe1\xc7y|3\x1cr\xf8\xc9\xf5g\x93W\xaf?\x9f\x1as\x99&\xe3\xa1~SL\xc6\xc3\x94J\x0cb\x99\x9b\xf4m\xc9\x16#\x14\xf2L\xd2L\x9ar\x9dSd\xe8\xd1\x08I\xba\x92\xb6Z\xe8\x87s,\n*G\xa5\x8c\xcc\x01zD\xc3\x8d\xf9\xe5ss\xc2\xd3\x1cK\x16$m%/\xa7\xa3)\x89),JXvg\x08\x9a\x8cP1\xe7B\x86\xa54\x18\xc0\x901\x174\x1a!;\xc2\x0b5\xb6\xe0\x85\x0c\xe5\xca\x08\xb1\x14\xc7\xd4^\x99\x15n<\x94L&t\xfc\xf1\x87\xbf>\xfc\xfe\xcb\xfd\xfb\xaf\xef\xdf\x7f\xfb\xcf\x1f\xdf\xdd\xff\xf9\xd3\x87_\x7f\xfb\xf8\xe3\xcf\x7f\x7f\xf3\xfd\xd0\xae!\xc3B\xae\xe1\xa3|\xef\x06\x9c\xac7s\xca\xe2\xb9\xf4\\\xc7y\xb6U\xd2\r_P\x11%|i\xae=\\J\xbe\xadP\x118\xed\xb9\xbd|e`\xc1p\xe2\x078\xbc\x8b\x05/3\xe2u\xa2(\xaa@\xdd\xbc\x1bq\x91v\xcb\xa4\x9b\xb0M\x8aE\xcc2\xcf\xf1sL\x08\xcbb\xf8KX!\xcd\xca\xbe\x97\xf1\x8c\xd6\x8b\xd4\x92M\xce\x0b&\x19\xcf< \x01xZ\xd0-K\xe3M\xc0\x05\xa1\xc2s\xb6x\x13\xf2\x84\x0b\xaf\xe38\xe1\x16{8T\x90F\x16\x9d;[\x96\xe5\xa5\xdc\xe1\xf7&\xb7\x9d\xa5\xc0yN\xc5\xb1\x05\x7f\xb6\x13\xf9)\xcb\xcc6\x0f\x1dU\r\x1b\xad\xc5\x0c\xb8\x94<U3\xf9\xcaW\x997q\xc2\xe2\xcc\x0b!\x8bT\xf8\'\xefL\x96\x11\xba\xf2\xdc\xbd5\xa5p\xc9\x88\x9c{\x03W\xadj)o\x1b;W*\x1bkG\x0e>\xb0\xef\xfc\x0f-\x86\xa5\xde\xb3\xc6\x8d\x83\x98*\xa2uVzU&!\xbb\x86\xe3\xd7~\x9e\x9f\xb9\x87\xd1%4\x92\xfe.4\x07\xa8\xbc[>\x92\'\xab\x98\x052\xdb\xd4J.\xfb\xfbXO\xc1\xc4.\x04\xc9s\x0f\xc6_]\xfa\xaa\x90\xcc\x82\xbd\xa3\x9e{\x06\x80}\x1d\x99:\x9d\x84\x90\xb6tg\xd11\xcc\xb3\x01\xac\x08KQ\x00.\xe7L\xb1\x7fh\xbfNQ\xe3\xc0\xb9BWJ\x97s&i\xdb\xb4\xf23\xa1\x12\x14\x98E\x8eCU+\xee\x817^\xe7\xf4t\xd0\x8f"\xbf\xae\xa9]\r\x00m\x05O\x181:=r1\x88\xce|^J\xd8\xbd\xd4K)ae\xea\x9f\x1c\xe2\x1d\xdf\\\xd2\xe0\x8e\x01\xa9\x90\x10,p\x16\xd6\xb5\xbf\x93k\xbc\xc0\xb0\xbc\x80\x82\xad\xe3\x81\x0c6\x94^\xb4"R\x8c\x11V\xe4\t^{,Sv\xcd \xe1\xe1\xdd\xa3\x84\x99n\x0f\xd8\xd0\xac\x9d\x1c\x97W\x93[\xc7\x87\r/Y\x88\x13\x9dyH\xd6\x91\x1b\xaaV\x1a7\xaa\xff\xa7x\x91\x10#P*`o\x1c\x91\xa1\xb4\xb2\\*\xad\xad\x88\xf6R+\x88\xbb;\xc3j\xd0)J\xf8lZ\xd1Um\xaf\xee\x1e{ez\xdf\xb7\x92\x13\x9c\xab\xa7qRW\xd6E\xa0\x9efr\xff\xad\xe5\x0f[\xda\xe3D\x1fS\xa5\xf7O\xff\xf4\x12h\xae\xb7\x97)\xaa\xe0\x9c\xc6~5\xd4\xfd\xc0y\xe0T0PO\x9b6\xa3\x13\x86\xa1\xa1\'\xfc\xa6\x1b{sF\x08\xcdt\xd4:+\xfd\xde\xf9\xbe:\xd4\x9e\xf6\xeb>\rR\xdb\x1d\xec\x9au\xe5\x7f\x0b\x05\xdbP\xf7\x01\x00\x1a\x0e<\x17\xfb\xbd\xaa<\xdc3\xd1N\xe7\xae\xbd65\xffdu+/\x1f\xef\xeb\xbe\xea\x04\xa7\x03\xab\xf7\xac\xc1\xcc\x9e\xee\xd0\nk\xba\x97\x90\xd7\xed\xd0\xae\xcf\xad\xa1]\x1f\xd4\xea\xe80\xd4\xb19Bp(\xc0\xb1\x10\xc2!H\xd8\xc2`d\x84\xb4\xc6\x96D-\xd2\xc30\xc1EQKf\x87@=S\xbb\xf5\x98lv\xac8\x89a\x00g\x95\x01\xe9\xa1\x11\x0fK\x00KQRT\x88\x10\x8c\xc0=\xc0\xb3\xed\xe5ri\x05\x98\x91\xd2\nyj\x03\xda\x0e\xc8,\xe11w\xad<\x8bQ\x95\xcb\x11\xea]8\xa8N\xd2\x08\xb9\xbdK\xd0k\x83\x95\xf1PY\xaelUne8\x85\xd3?B\xea\x0c\xe4\x19\xdc\r\n\xa4}\x8c\x94\xcf\xd5A\xa8\xaf\x08u\xc5\xe8\x15\x8c\xa2\x05NJ\xf8kn*OB\xc3y\x03\xfd/\x94\xcc\x1aT\x15\x1a@\xa1N\xb2\x86\xb0 6\x9a\xed\xd9\xcc\xa8\x10\x94$\x9fs\xc9UtJ\xda\x18P\x93wK\xadzI\xd0\x8ewX\xb1\xf3&\xc5\xab\x84fqEV\xbf\x8fT\x1f\x02Bsh\xe40\xcb\xa3h\xaf\xf4\xc8\x95\xba\xa7<\x88\xa7(\x83\x94I\xa4l\x17ec\xa5}\x87B\x0fT\xec\r\xd8*\x19M\x86\xeawS\x12\xa5\x8b\x0e\'\x0e\xa7#9\xa9nl\xed\xb9"\x14\x10\xe7x\x81\x85\x91\x92>Dw\xeaL>\xbd\xba\xb9zsu3\x99L\xae\xaf^O\xa6\xd7_L\x9f_\xbf\x9a\xbe\x80\xef\xcb\xeb7\x08\xfc\xa8\xd7\xe8\xb5F\xbb\xdeH\xd2\xb3na\xe3s\x9cU\x15w\xfb\xb6\xa4b\xad?\xa6k\xb9\x8e5\xb0\xe0\x02a\xdd\x16UDZSu\xa1\x1d\xff\x0b\xaaR\xe1\t\x1f\x0b\x00\x00'
    file = open(r"C:\Users\wzs\Desktop\baidu",'w')
    proxies={'http':'http://120.24.79.140:8118'}
    i = 0
    j0 = 0
    j1 = 0
    proxyfiles = []
    localfiles = []
    while i < 50:
    proxyfile = urllib.urlopen("http://www.baidu.com",proxies=proxies).read()
    localfile = urllib.urlopen("http://www.baidu.com").read()
    if proxyfile==a:
    j0+=1
    else:
    proxyfiles.append(proxyfile)
    if localfile==a:
    j1+=1
    else:
    localfiles.append(localfile)
    i+=1
    file.writelines(proxyfiles)
    file.writelines("\n-------------------------------------------------------------\n")
    file.writelines(localfiles)
    file.close()
    print j0
    print j1
  4. 待续

Http协议 压缩的更多相关文章

  1. thttpd增加gzip压缩响应报文体功能,以减少传输数据量

    thttpd thttpd是一个非常小巧的轻量级web server,它非常非常简单,仅仅提供了HTTP/1.1和简单的CGI支持,在其官方网站上有一个与其他web server(如Apache, Z ...

  2. Tomcat启用GZIP压缩,提升web性能

    一.前言 最近做了个项目,遇到这么一个问题:服务器返回给客户端的json数据量太大(大概65M),在客户端加载了1分多钟才渲染完毕,费时耗流量,用户体验极其不好.后来网上搜优化的方法,就是Http压缩 ...

  3. http gzip压缩功能记录

    版权声明:本文为博主原创文章,转载请附上原文出处链接. 本文链接:https://www.cnblogs.com/shaoshuai95928/articles/Tomcat.html 最近在spri ...

  4. ASP.NET Core如何使用压缩中间件提高Web应用程序性能

    前言 压缩可以大大的降低我们Web服务器的响应速度,压缩从而提高我们网页的加载速度,以及节省一定的带宽. 何时使用相应压缩中间件 在IIS,Apache,Nginx中使用基于服务端的响应压缩技术.中间 ...

  5. TCP/IP详解,卷1:协议--链 路 层

    引言 在 T C P / I P 协议族中,链路层主要有三个目的:(1)为 I P 模块发送和 接收 I P 数据报:(2)为 A R P 模块发送 A R P 请求和接收 A R P 应答:(3)为 ...

  6. 【原创】轻量级移动设备即时通讯技术MobileIMSDK的常见问题解答

    申明:MobileIMSDK 目前为个人原创开源工程且已发布,现整理了一些有关MobileIMSDK的常见的问题,希望对需要的人有用,谢谢.如需与作者交流,见文章底部个人签名处,互相学习. Mobil ...

  7. python 连接 mysql

    http://blog.csdn.net/yelbosh/article/details/7498641 数据库的连接 模块引入之后我们就需要和数据库进行连接了,实例代码如下: db = MySQLd ...

  8. MySQL主从复制技术(纯干货)

    1.复制配置     主机一定要开启二进制日志(这里建议配置RBR)     每个主机和每个从机一定要配置一个位移的id,即server-id     每个从机配置一定要包含主机名称,日志名称,和位置 ...

  9. Python的MySQLdb模块安装,连接,操作,增删改

    1. 首先确认python的版本为2.3.4以上,如果不是需要升级python的版本     python -V   检查python版本 2. 安装mysql, 比如安装在/usr/local/my ...

随机推荐

  1. AndroidStudio快捷键总结

    本文总结一下最近常用的命令: 1.格式化代码:Ctrl+Alt+L[可能与电脑快捷键冲突,修改方法:在设置里点击Keymap 搜索:Reformat Code] 2.复制当前类:Ctrl+Shift+ ...

  2. Android全新UI编程 - Jetpack Compose 超详细教程

    1. 简介 Jetpack Compose是在2019Google i/O大会上发布的新的库.Compose库是用响应式编程的方式对View进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速 ...

  3. SpringCloud升级之路2020.0.x版-12.UnderTow 简介与内部原理

    本系列代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford 在我们的项目中,我 ...

  4. MongoDB-01-基础

    mongodb逻辑结构 Mongodb 逻辑结构 MySQL逻辑结构 库 (database) 库 集合(collection) 表 文档(document) 数据行 安装部署 1 系统准备 1 这里 ...

  5. Golang语言系列-12-网络编程

    网络编程 互联网协议介绍 互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite),正是这一些协议规定了电脑如何连接和组网.我们理解了这些协 ...

  6. 解决java种mysql中文乱码问题

    乱码问题原因有多种,其中有一种是由于MySQL默认使用 ISO-8859-1 ( 即Latin1 ) 字符集,而JAVA内部使用Unicode编码,因此在JAVA中向MYSQL数据库插入数据时,或者读 ...

  7. go-zero:微服务框架

    go-zero 是一个集成了各种工程实践的 Web 和 rpc 框架,它的弹性设计保障了大并发服务端的稳定性,并且已经经过了充分的实战检验. go-zero 在设计时遵循了 "工具大于约定和 ...

  8. 用Vsftpd服务传输文件

    文件传输协议 文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传.下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件传输则需要F ...

  9. noip17

    复杂度分析全部摘自题解 T1 sb优化暴力 暴力20-40pts,我只拿了20pts. 正解: bitset 优化暴力,但是会MLE. 再次考虑如何优化,我们统计一下每个点的入度,每次遍历到这个点的时 ...

  10. DOS创建/删除/描述 windows服务

    1.以管理员运行cmd ,输入 sc create test binPath= 程序路径\xxx.exe,主要 "="后面必须要空格 在服务里面查看结果 2.设置服务格式: sc ...