精华内容
下载资源
问答
  • 针对目前已知安全威胁,IETF(Internet Engineering Task Force,互联网工程任务组)制定 TLS 1.3 新标准,使其有望成为有史以来最安全,但也最复杂 TLS 协议。 TLS 1.3 与之前协议有较大差异,主要在于: ...

    作者:gc(at)sysin.org,主页:www.sysin.org

    原文发布链接:https://sysn.org/article/TLSv1.3-Support/

    为什么要使用 TLS v1.3

    TLS 1.3 是时隔九年对 TLS 1.2 等之前版本的新升级,也是迄今为止改动最大的一次。针对目前已知的安全威胁,IETF(Internet Engineering Task Force,互联网工程任务组)制定 TLS 1.3 的新标准,使其有望成为有史以来最安全,但也最复杂的 TLS 协议。

    TLS 1.3 与之前的协议有较大差异,主要在于:

    • 相比过去的的版本,引入了新的密钥协商机制 — PSK
    • 支持 0-RTT 数据传输,在建立连接时节省了往返时间
    • 废弃了 3DES、RC4、AES-CBC 等加密组件,废弃了 SHA1、MD5 等哈希算法
    • ServerHello 之后的所有握手消息采取了加密操作,可见明文大大减少
    • 不再允许对加密报文进行压缩、不再允许双方发起重协商
    • DSA 证书不再允许在 TLS 1.3 中使用

    对比旧协议中的不足,TLS 1.3 确实可以称得上是向前迈了一大步。既避免之前版本出现的缺陷,也减少了 TLS 握手的时间。

    总结一下,TLS 1.3 与以前的版本相比具有如下两个大的优势:更快的访问速度和更强的安全性!

    TLS 1.0 和 TLS 1.1 是分别于 1996 年和 2006 年发布的老版协议,使用的是弱加密算法和系统。比如 SHA-1 和 MD5,这些算法和系统十分脆弱,存在重大安全漏洞,容易受到降级攻击的严重影响,而在 2008 年和 2017 年分别发布了协议的新版本,即 TLS 1.2TLS 1.3,无疑更优于旧版本,使用起来也更安全。

    2018 年,在春季 TLS 1.3 版本发布之后,苹果、谷歌、Mozilla 和微软四大浏览器制造商于 2018 年 10 月联合宣布计划在 2020 年初取消对 TLS 1.0 和 TLS 1.1 的支持。

    主流浏览器客户端都提供了禁用 TLS 1.0 和 TLS 1.1 协议的大致期限:

    Browser Name Date
    Microsoft IE and Edge First half of 2020
    Mozilla Firefox March 2020
    Safari/Webkit March 2020
    Google Chrome January 2020

    客户端支持

    浏览器

    Modern: Modern clients that support TLS 1.3, with no need for backwards compatibility

    Configuration Firefox Android Chrome Edge Internet Explorer Java OpenSSL Opera Safari
    Modern 63 10.0 70 75 11 1.1.1 57 12.1

    参看:https://wiki.mozilla.org/Security/Server_Side_TLS

    curl

    7.52.0 - December 21 2016,curl: introduce the --tlsv1.3 option to force TLS 1.3

    使用参数 --tlsv1.3,可以通过 curl --help 查看是否支持该参数

    服务端支持

    F5 BIG-IP TLSv1_3

    BIG-IP v14 开始支持 TLSv1_3(In BIG-IP 14.0.0, the BIG-IP system adds limited support for Transport Layer Security (TLS) 1.3. Starting in BIG-IP 14.1.0.1 and later, this support was updated to provide production level support for TLS 1.3.)

    By default, TLS 1.3 is disabled. To enable TLS 1.3, you must remove the No TLSv1.3 option from the Enabled Options list in the Configuration utility for the Client SSL and Server SSL profiles

    You can view a list of TLS 1.3 supported ciphers and groups using the following TMOS Shell (tmsh) commands:

    • To view the supported client-side ciphers, use the following command:

      tmsh run util clientssl-ciphers TLSv1_3

    • To view the supported server-side ciphers, use the following command:

      tmsh run util serverssl-ciphers TLSv1_3

    配置启用 TLSv1_3

    编辑 ClientSSL Profle:

    Ciphers:选择 Cipher Group,下拉选择 f5-secure

    Options:Options List…

    Enabled Options,

    Disable No TLSv1.3

    添加,No TLSv1 和 TLSv1.1,保留默认的“Don’t insert empty fragments”

    IIS & Windows TLSv1.3

    IIS 10 & Windows Server 2019 正式版尚未支持,参看

    最新的 Windows Insider Preview 已经支持 TLS 1.3

    the latest Windows Insider Preview Builds for Schannel’s TLS 1.3 support.

    Nginx TLSv1.3

    The TLSv1.1 and TLSv1.2 parameters (1.1.13, 1.0.12) work only when OpenSSL 1.0.1 or higher is used.

    The TLSv1.3 parameter (1.13.0) works only when OpenSSL 1.1.1 built with TLSv1.3 support is used.

    More info on the NGINX documentation

    参考配置:启用 HTTP/2、TLSv1.3、推荐的Ciphers、HSTS

    server {
        listen       443 ssl http2; # HTTP/2 Enable
        server_name  www.sysin.org;
        ssl_certificate     www.sysin.org.crt;
        ssl_certificate_key www.sysin.org.key;
        ssl_protocols       TLSv1.2 TLSv1.3; # Requires nginx >= 1.13.0 else use TLSv1.2
        ssl_ciphers  ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains; preload";
        ...
    }
    

    Apache httpd TLSv1.3

    版本要求:

    Apache version 2.4.36 or greater. (网上文章传言 2.4.38 是错误的!)

    OpenSSL version 1.1.1 or greater.

    CentOS 8 和 Ubuntu 20.04 自带软件包满足要求,低版本需要编译安装。

    [root@c8 ~]# openssl version
    OpenSSL 1.1.1c FIPS  28 May 2019
    
    [root@c8 ~]# dnf list httpd
    Installed Packages
    httpd.x86_64        2.4.37-21.module_el8.2.0+382+15b0afa8        @AppStream
    
    root@u20:~# openssl version
    OpenSSL 1.1.1f  31 Mar 2020
    
    root@u20:~# apt list apache2
    Listing... Done
    apache2/focal 2.4.41-4ubuntu3 amd64
    

    启用 TLS 1.3 和 1.2

    The Apache version 2.4.36 or higher versions support TLS v1.3. You must upgrade Apache packages before enabled TLS 1.3 in SSL settings.

     SSLProtocol -all +TLSv1.2 +TLSv1.3
    

    配置项如下所示:

    <VirtualHost *:443>
        ServerName www.sysin.org
        DocumentRoot /var/www/html
    
        SSLEngine on
        SSLProtocol -all +TLSv1.2 +TLSv1.3
        SSLCertificateFile "/path/to/www.sysin.org.cert"
        SSLCertificateKeyFile "/path/to/www.sysin.org.key"
    </VirtualHost>
    

    记得重启 Apache 服务才能生效。

    展开全文
  • 1.HTML技术的诞生 Web客户端的主要任务是展现信息内容,而HTML语言则是信息展现的最有效载体之一。作为一种实用的超文本语言,HTML的历史最早可以追溯到上世纪四十年代。1945年,Vannevar Bush在一篇文章中阐述了...
     
    

    1.HTML技术的诞生

    Web客户端的主要任务是展现信息内容,而HTML语言则是信息展现的最有效载体之一。作为一种实用的超文本语言,HTML的历史最早可以追溯到上世纪四十年代。1945年,Vannevar Bush在一篇文章中阐述了文本和文本之间通过超级链接相互关联的思想,并在文中给出了一种能实现信息关联的设计方案。Doug Engelbart等人则在1960年前后,对信息关联技术做了最早的实验。与此同时,Ted Nelson正式将这种信息关联技术命名为超文本(Hypertext)技术。1969年,IBM的Charles Goldfarb发明了可用于描述超文本信息的GML(Generalized Markup Language)语言。1978到1986年间,在ANSI等组织的努力下,GML语言进一步发展成为著名的SGML语言标准。当Tim Berners-Lee(Web应用创始人)和他的同事们在1989年试图创建一个基于超文本的分布式应用系统时,Tim Berners-Lee意识到,SGML是描述超文本信息的一个上佳方案,但美中不足的是,SGML过于复杂,不利于信息的传递和解析。于是,Tim Berners-Lee对SGML语言做了大刀阔斧的简化和完善。1990年,第一个图形化的Web浏览器"WorldWideWeb"终于可以使用一种为Web度身定制的语言--HTML来展现超文本信息了

    2.Netscape浏览器 1.0发布以及后期的浏览器大战

    1994年,Marc Andreessen新发布的Netscape浏览器大受当时上网一族的欢迎,因为Netscape 1.0浏览器创造了一个记录,它比上一代的Mosaic浏览速度足足快了十倍,还独创性地使用密钥算法保证网上数据的安全,于是乎,Netscape浏览器立刻占领了高达70%的市场,人人几乎都是用它上网。而微软适时地抓住了这一波的互联网热潮,成功地取得了Mosaic软件的许可,可以研发基于Mosaic的各种不同的浏览器,至此,NetScape与微软之间长达数年之久的浏览器大战开始了,无疑,这场大战,有力的推动了Web客户端技术的发展。

    3.浏览器对Java/JavaScript的支持

    1996年, Netscape浏览器在其2.0版中增加了对Java Applets和Java Script的支持。Netscape的冤家对头,Microsoft的IE 3.0也在这一年开始支持Java技术。现在,喜欢动画、喜欢交互操作、喜欢客户端应用的开发人员可以用Java或JavaScript语言随心所欲地丰富HTML页面的功能了。

    4.CSS及DHTML的诞生

    真正让HTML页面又酷又炫、动感无限的是CSS(Cascading Style Sheets)和DHTML(Dynamic HTML)技术。1996年底,W3C提出了CSS的建议标准,同年,IE 3.0引入了对CSS的支持。CSS大大提高了开发者对信息展现格式的控制能力。1997年的Netscape 4.0不但支持CSS,而且增加了许多Netscape公司自定义的动态HTML标记,这些标记在CSS的基础上,让HTML页面中的各种要素“动”了起来。1997年,Microsoft发布了IE 4.0,并将动态HTML标记、CSS和动态对象模型(DHTML Object Model)发展成了一套完整、实用、高效的客户端开发技术体系,Microsoft称其为DHTML。同样是实现HTML页面的动态效果,DHTML技术无需启动Java虚拟机或其他脚本环境,可以在浏览器的支持下,获得更好的展现效果和更高的执行效率。今天,已经很少有哪个HTML页面的开发者还会对CSS和DHTML技术视而不见了。

    5.Flash开始普及

    同样值得纪念的还有Flash插件的横空出世。1990年初期,Jonathan Gay在FutureWave公司开发了一种名为Future Splash Animator的二维矢量动画展示工具,1996年,Macromedia公司收购了FutureWave,并将Jonathan Gay的发明改名为我们熟悉的Flash。从此,Flash动画成了Web开发者表现自我、展示个性的最佳方式。

    6.AJAX成为最新时尚

    确切的说,AJAX不是纯粹的客户端技术,但又有谁能够否认,AJAX彻底颠覆了人们对Web应用的传统感观呢?AJAX的核心无非是“基于XMLHttpRequest的异步请求,再利用JavaScript/DHTML/XML相关技术更新网页内容”,但就是这样简单的一个已经存在了若干年的技术,却在这两年成为最新时尚。那么,我们有没有思考过,AJAX为什么这样红?是因为一个好听的名字,还是因为Google等公司的大力引导?事实上,其根本原因是:AJAX能够带来更好的用户体验,改变了人们对传统Web应用的不佳印象! 

     
    展开全文
  • WEB客户端增量更新数据解决方案

    千次阅读 2005-02-18 16:28:00
     以展现数据为主要任务的网页,如股票类网页,多希望能实时展现数据库里数据。流行解决方法是将数据做成xml格式,浏览器隔一段时间取一次该xml数据,然后更新到网页上。一种是使用Microsoft.XMLHTTP来从...

    本文属spanzhang原创,其blog地址为:http://blog.csdn.net/spanzhang。引用或转贴请注明出处,谢谢!!<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

     

    以展现数据为主要任务的网页,如股票类的网页,多希望能实时展现数据库里的数据。流行的解决方法是将数据做成xml格式,浏览器隔一段时间取一次该xml数据,然后更新到网页上。一种是使用Microsoft.XMLHTTP来从服务器上GET数据,另一种是用MSXML2.DOMDocumentload服务器上的数据。这两种方法都差不多,都是走的XML路线。【孟子E章】对这种模式写过很多文章,这里就不讨论了。我这里重点在于阐述数据的增量更新过程。

    假设我们的数据是一个二维的关系数据,并且每一行都有一个主键唯一标示。WEB服务器在Application_Start里开始一个服务器时钟(System.Timers.Timer),每隔一段时间更新一次数据。服务器提供给客户端的xml数据包含两个文件,一个是当前版本的所有数据(all.aspx),另一个是当前版本和上一版本的增量数据(delta.aspx)。源代码如下:
    all.aspx
    文件:
    <%@ Page language="c#" %>
    <%
     Response.Expires = 0;
     Response.ContentType = "text/xml";
     Response.Charset = "UTF-8";
    %>
    <% 
     System.Data.DataTable dt = sm_web.Logic.dt_all;
    %>
    <r v="<%=sm_web.Logic.dataVersion%>"><%
     if(dt != null)
     {
      for(int i=0;i<dt.Rows.Count;i++)
      {
      %><p a="<%=dt.Rows[i]["a"]%>" b="<%=dt.Rows[i]["b"]%>" c="<%=dt.Rows[i]["c"]%>"  d="<%=dt.Rows[i]["d"]%>"/><%
      }
     }
    %></r>


    其中,sm_web.Logic.dt_allsm_web.Logic.dataVersion均为静态变量。所生成的xml数据示例如下:
    <r v=“1052“>
        <p a=“0“ b=“1002“ c=“98.48“ d=“
    湖南“/>
        <p a=“0“ b=“1003“ c=“26.37“ d=“
    上海
    “/>
    </r>

    delta.aspx
    文件:

    <%@ Page language="c#" %>
    <%
     Response.Expires = 0;
     Response.ContentType = "text/xml";
     Response.Charset = "UTF-8";
    %><r v="<%=sm_web.Logic.dataVersion%>"><%=sm_web.Logic.changedXml%></r>
    其中,sm_web.Logic.changedXml为静态变量。所生成的xml数据示例如下:
    <r v=“1052“>
        <p a=“1“ b=“1002“ d=“
    广州“/>
        <p a=“1“ b=“1003“ c=“25.00“/>
    </r>

    这里,a是一个标记字段,用来表明对一行数据所做的更新类型,分别为:0:无;1:修改;2:删除;3:增加。xml全部采用属性的方式来表示数据是为了减少网络传输量,因为a=““比<a></a>少3个字符。


    服务器时钟每步进一次将做如下处理:
    1
    、取得当前的所有数据;
    2
    、和以前的数据比较,装配出变化数据sm_web.Logic.changedXml
    3
    、更新sm_web.Logic.dt_all为当前的数据;
    4
    sm_web.Logic.dataVersion增加1

    整个服务器端的处理过程就是这样了。而在客户端,页面第一次装载的时候同步下载all.aspx内容,并初始化所有的页面元素(包括一个客户端数据版本号)并开启一个时钟以小于服务器端时钟步进速度的一半还要小一点点的速度步进(至于为什么,后面作讨论)。每次时钟步进时需要做如下几个步骤:
    1
    、停止时钟步进;
    2
    、异步下载delta.aspx

    delta.aspx下载完成后,判断新数据的版本号:
    1
    、如果和当前客户端数据版本号相同,则启动时钟并返回;
    2
    、如果版本号比当前客户端数据版本号+1还要大(版本号断裂),则重新同步装载all.aspx,更新完数据后启动时钟;
    3
    、否则对增量数据做处理,更新网页局部元素。

    上面的操作放在一个try块里面,完成后重新启动客户端的时钟。
    对于服务器端的时钟更新速度和客户端的时钟更新速度,需要很仔细的去设置。由于客户端在版本号断裂的情况下需要重新加载全部数据,通常不要将客户端的时间设置得太长,至少要比服务器端时钟的一半还要小一点(考虑网络延迟)。但也不能过于小了以至于客户端失去了和用户交互的时间。在我的一个应用中,服务器端时钟更新速度为4秒,客户端更新速度为1秒,可以保证不会出现版本号断裂的情况。

    至此,全部技术框架介绍完毕,如果需要更多的细节,请发评论或给我发
    mail

    展开全文
  • 实现的主要功能有用户登录、获取文章列表、阅读文章、删除文章,获取评论和编辑评论等。另外,项目采用 jwt 产生 token 实现用户认证,用户登录时获得 token,并且在添加评论时进行 token 认证。 2. 任务分工 我们

    简单 web 服务与客户端开发实战

    1. 项目简介

    项目地址: github
    本次作业我们小组实现的是一个极简博客,主要的页面包括home, user, articles, reviews几个页面。实现的主要功能有用户登录、获取文章列表、阅读文章、删除文章,获取评论和编辑评论等。另外,项目采用 jwt 产生 token 实现用户认证,用户登录时获得 token,并且在添加评论时进行 token 认证。

    2. 任务分工

    我们小组一共有6人, 在项目开发过程中,2人负责前端的页面布局和设计,4人负责后端以及 api 测试。
    我与另一个同学负责后端的article部分的实现, 我的任务如下:

    1. article 的 api 编程及测试,包括获取用户的全部 articles,根据 id 获取某篇 article, 以及根据 id 删除 某篇 article。
    2. 实现真实数据的抓取以及读入数据库的操作。
    3. 协助同学修改和测试

    3. 页面效果

    1. 主页面
      在这里插入图片描述

    2. 登录页面
      在这里插入图片描述

    3. 文章列表页面
      在这里插入图片描述

    4. 文章展示页面
      在这里插入图片描述

    5. 评论页面
      在这里插入图片描述

    展开全文
  • web技术

    2011-11-22 15:15:01
    Web是一种典型的分布式应用结构。Web应用中的每一次信息交换都要...Web客户端技术 Web客户端的主要任务是展现信息内容。Web客户端设计技术主要包括:HTML语言、Java Applets、脚本程序、CSS、DHTML、插件技术以及VRML
  • 一 Web的基本原理 Web应用中的每一次信息交换都要涉及客户端和服务端两个层面...Web客户端的主要任务时展现信息内容,HTML语言是信息展现的最有效载体之一,现今HTML语言已经历DHTML发展至XML技术。 Web服务器使用HTTP
  • 我在这次作业中的主要任务比较简单 主要是是博客API格式的设定以及文档的编写 我们的这个博客网站比较简易,其需要的功能大概有一下几种 获取所有API列表 获取所有用户列表 获取所有文章列表 获取某篇文章的具体...
  • 客户端

    2016-06-19 16:36:47
    HTTP协议是一套规则和...由主机承担所有计算任务,哑终端只负责数据录入和结果显示。 2. 客户机/服务器计算模式。简称c/s。客户机是一套独立系统,会承担一部分计算功能。服务器主要作为数据提供,也承担一
  • 编写这个程序目的主要为了解决web应用程序快速封装体验更接近winform程序,其次为了快速进行无环境的web程序调试。 伪桌面应用程序:支持将一个网络路径或本地程序封装为一个桌面应用程序、支持自定义程序名称、...
  • 前端开发的任务并不难,主要是完成页面编写布局,并将API得到数据显示在页面中。 本次开发选择了主流vue.js框架,各个页面有单独文件构成,再通过Vue Router完成页面间跳转。 其中页面样式可以参考CSS...
  • x 邮件是工作沟通非常必要办公工具,它改变了工作和交流方式,极大促进了工作效率。特别是近几年用邮件群发方式来做营销也成为...本设计的WebEmail 邮件收发系统主要是基于网络收发邮件系统.主要是实现...
  • 本篇是继关于Axis2发布Web Service之后的又一随笔,此篇的主要任务是讲述使用Axis2开发客户端和服务器端的具体实现。相信大家在看本篇的时候已经具备了一定的Web Service开发基础,因此我主要是以例子的方式来说明,...
  • 编写这个程序目的主要为了解决web应用程序快速封装体验更接近winform程序,其次为了快速进行无环境的web程序调试。 伪桌面应用程序:支持将一个网络路径或本地程序封装为一个桌面应用程序、支持自定义程序名称、...
  • Strano 允许您通过干净简单 Web 界面运行任何任务。 只需从您任何 Github 或 Git 存储库创建一个项目,Strano 将使用存储库作为工作目录来运行您想要任何任务(但我们仅将它用于 Capistrano)。 这意味着您...
  • 在完成时候我们主要是使用了Vue-cli开发工具。我工作是完成了框架搭建并且完成了一个页面。 我们页面由一下几部分组成: 主页: About页面: 在这几个页面中我们是使用Vue框架,js+css构造前端。 在...
  • # CTF之web路一次任务

    2020-08-12 22:13:34
    HTTP协议即超文本传输协议,工作于客户端-服务器架构之上,其主要是用于规定浏览器和万维网服务器之间相互通信(请求与回答)原则,基于TCP/IP通信协议来传递数据,默认端口号为80,是应用层一个协议。...
  • 医院病历管理系统

    千次阅读 2020-06-03 17:48:34
    医院病历管理系统 本设计报告主要设计一个病历管理系统,因为这个系统是学校老师下发给我要求我做的,也是...1)Web 客户端技术:Web 客户端的主要任务是信息内容的展现。利用Java web技术实现,前端采用HTML+CSS设计。
  • 软件客户端主要的优点: 支持文件批量、多任务式上传与下载 大文件上传下载、文件断点续传 清晰化文件管理方式,您文件管理超级方便 人性化文件管理,让您工作更舒心 自己可以搭建一个网盘文件存储管理...
  • Servlet最主要的作用就是处理客户端请求,并向客户端做出响应。 为此,针对Servlet每次请求,Web服务器在调用service()之前都会先创建请求(HttpServletRequest)和响应(HttpServletRespone)两个对象,用于封装HTTP...
  • 周总结

    2017-12-09 18:33:00
    第三周 所花时间 39小时 ...JavaScript 是一种跨平台,面向对象的脚本语言....Web客户端的主要任务是展现信息内容,HTML语言是信息展现的最有效载体之一。它是一种超文本语言, JSP页面由HTML...
  • MMORPG游戏u3d客户端框架学习_1

    千次阅读 2017-05-15 22:49:50
    最近转行开始做游戏开发,混进一家游戏公司,公司正在做一个MMORPG游戏项目。这个系列文章会记录我对mmorpg游戏开发一些开放方式和构架。...2:客户端表现开发,我就是做这一块主要负责客户端所有战斗、任务
  • 一 .环境说明 在前面几期课程里面讲过了 Flink ...Flink 提供了丰富的客户端操作来提交任务和与任务进行交互,包括 Flink 命令行,Scala Shell,SQL Client,Restful API 和 Web。Flink 首先提供最重要是命令行
  • 总体架构 主要分三个模块 控制中心模块主要维护客户端实体和操作界面在线地址并跟踪; 针对各个节点HTTP请求冲击频率进行授权,控制多个客户端并发总体冲击频率,也可以各个客户端本地控制; 任务部署和控制;...
  • puppet+svn管理windows和linux客户端

    千次阅读 2014-05-30 14:49:58
    puppet主要用来管理windows和linux客户端的软件安装,计划任务,执行命令等作用,而svn主要用来管理web端的文件更新。 ps:puppet master和client的安装这里不做过多介绍,这里主要介绍puppet安装windows svn
  • 负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。...
  • JAVA WEB 相关知识

    2016-09-24 23:45:45
    http的请求包括: ... 请求头; 空行; 消息体; ...web的缺项就是只能向客户提供静态网页,所以Java就提出了用servlet来解决这个问题。...servlet的主要任务就是: 读取客户的显式和隐式的数据,向客户端
  • web浏览器的主要任务是在一个窗口中显示HTML文档。在客户端JS中,表示HTML文档的是Document对象,Window对象代表显示该文档的窗口。虽然对于客户端JS来说,Document对象和Window对象都很重要,但是相比较而言,...
  • 2011.06.01升级(1.6版本)的主要内容如下: 1.提供两种蜘蛛客户端索引和网站索引进行合并的策略。(重要) 2.优化编码识别规则,大幅件减少搜索日志乱码现象。(重要) 3.后台可批量删除某一域名下的所有搜引文件...
  • web文件下载问题

    2021-05-14 22:46:02
    什么是文件下载 将服务器上一个文件,通过流写入到客户端上,既客户下载文件 为什么学习文件下载 很多应用包含有文件下载功能:音乐下载、应用下载等。...主要任务是:设置两个头和一个流 Con

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 487
精华内容 194
关键字:

web客户端的主要任务