update the faq chapter to describe how to use the function of compressed data transmission (#317)

diff --git a/java-chassis-reference/en_US/docs/question-and-answer/faq.md b/java-chassis-reference/en_US/docs/question-and-answer/faq.md
index 89a49e0..48a5089 100644
--- a/java-chassis-reference/en_US/docs/question-and-answer/faq.md
+++ b/java-chassis-reference/en_US/docs/question-and-answer/faq.md
@@ -51,9 +51,9 @@
 9. **Q: After the microservice is started, the interface cannot be called correctly, or is there no error returned? **
 
     A: Please check that the calling path is exactly the same as the path published in the Producer implementation code. The boot log on the Producer side can see the output of the map path, for example:
-   
+
     `[INFO] Swagger mapped "{[/hello/], method=[GET], produces=[application/json]}"`
-   
+
     For different programming styles (models) to implement Producer documentation and notes, please see: [Jaxrs](/cn/users/develop-with-jax-rs/) [SpringMVC](/cn/users/develop-with-springmvc/) [Pojo](/cn/users/develop-with-transparent-rpc/) [Spring Boot](/cn/users/develop-with-spring-boot-starter/) .
     
 10. **Q: The port number under the microservice.yaml configuration file has been modified via eclipse. After starting the program, the port number does not work? **
@@ -91,14 +91,14 @@
 
      return "not expected";
    }
-   ```
+  ```
 
 11. **Q: How to customize the log configuration of your own microservice?**
 
     A: ServiceComb does not bind the logger, just uses slf4j, users can freely choose log4j/log4j2/logback and so on. ServiceComb provides a log4j extension that supports incremental configuration of log4j's properties files on a standard log4j basis.
     * By default, the configuration file is loaded by the rule: "classpath\*:config/log4j.properties"
     * Actually search all the ```config/log4j.properties and config/log4j.*.properties``` in the classpath, and cut out the ```\*``` from the searched file to perform alpha. Sort, then load in order, and the final synthesized file is used as the log4j configuration file.
-    * If you want to use ServiceComb's log4j extension, you need to call Log4jUtils.init, otherwise it will be used according to the rules of the standard logger.
+        * If you want to use ServiceComb's log4j extension, you need to call Log4jUtils.init, otherwise it will be used according to the rules of the standard logger.
 
 12. **Q: When the service is configured with multiple transports, how do you choose which transport to use at runtime? **
 
@@ -113,8 +113,8 @@
 
    * When a microservice producer opens both the highway and the RESTful endpoint
       * Only the highway transport jar is deployed in the consumer process, only the producer's highway endpoint is accessed.
-      * Only the RESTful transport jar is deployed in the consumer process, only the RESTful endpoint of the producer is accessed.
-      * In the consumer process, both the highway and RESTful transport jars are deployed, and the producer's highway and RESTful endpoints are accessed in turn.
+           * Only the RESTful transport jar is deployed in the consumer process, only the RESTful endpoint of the producer is accessed.
+              * In the consumer process, both the highway and RESTful transport jars are deployed, and the producer's highway and RESTful endpoints are accessed in turn.
 
       If, at this time, the consumer wants to use a transport to access the producer, it can be configured in the microservice.yaml of the consumer process, specifying the name of the transport:
 
@@ -127,13 +127,13 @@
 
    * When a microservice producer only opens the endpoint of the highway
       * The consumer process only deploys the highway transport jar, then the highway access is normally used.
-      *The consumer process only deploys RESTful transport jars and cannot be accessed
-      * The consumer process deploys both the highway and the RESTful transport jar, and the highway access is normally used.
+           *The consumer process only deploys RESTful transport jars and cannot be accessed
+              * The consumer process deploys both the highway and the RESTful transport jar, and the highway access is normally used.
 
    * When a microservice producer only opens RESTful endpoints
       *The consumer process only deploys the highway transport jar and cannot access it.
-      * The consumer process only deploys RESTful transport jars, which normally uses RESTful access.
-      * The consumer process deploys both the highway and the RESTful transport jar, and the RESTful access is normally used.
+           * The consumer process only deploys RESTful transport jars, which normally uses RESTful access.
+           * The consumer process deploys both the highway and the RESTful transport jar, and the RESTful access is normally used.
 
 
 13. **Q: The swagger body parameter type is incorrectly defined, causing the content registered in the service center to have no type information**
@@ -203,12 +203,12 @@
 14. **Q: Does the ServiceComb microservices framework service innovate via long connection?**
 
     A: http request via a long connection (with a timeout), and the highway mode also via a long connection (all the time).
- 
+
 15. **Q: Is the service disconnected service center registration information automatically deleted?**
 
     A: The service center heartbeat detects that the service instance is unavailable, only the service instance information is removed, and the static data of the service is not removed.
 
- 
+
 16. **Q: How to implement service registration if you use the tomcat method to integrate the ServiceComb microservices framework**
 
     A: If you use the ServiceComb sdk servlet method (using the transport-rest-servlet dependency) to deploy to the tomcat as a war package, you need to ensure that the rest port configuration in the service description file (microservice.yaml) is consistent with the external container to implement the service. Register correctly. Otherwise, the tomcat open port cannot be perceived.
@@ -245,7 +245,7 @@
       Return "Hello person " + person.getName();
     }
     ```
-   
+
 
 19. **Q: How does the ServiceComb microservices framework service customize the return status code?**
 
@@ -295,17 +295,17 @@
    2. Remove the log4j configuration file (it doesn't matter if you don't delete it, because it won't be used);
    3. Exclude the log4j introduced by the CSE framework, for example:
       ```xml
-      <dependency>
-          <groupId>org.apache.servicecomb</groupId>
-          <artifactId>provider-springmvc</artifactId>
-          <exclusions>
-              <exclusion>
-                  <groupId>log4j</groupId>
-                  <artifactId>log4j</artifactId>
-              </exclusion>
-          </exclusions>
-      </dependency>
-      ```
+           <dependency>
+               <groupId>org.apache.servicecomb</groupId>
+               <artifactId>provider-springmvc</artifactId>
+               <exclusions>
+                   <exclusion>
+                       <groupId>log4j</groupId>
+                       <artifactId>log4j</artifactId>
+                   </exclusion>
+               </exclusions>
+           </dependency>
+           ```
    4. Introducing the dependency of log4j2
 
       ```xml
@@ -407,8 +407,8 @@
     A:
     1. The schema is used to match the service contract. It is used to ensure that the server and the consumer contract are compatible. Each contract needs a unique ID and is stored in the service center.
     2. Schema maps to the interface concept of java. When the consumer uses the transparent rpc mode to develop, it can find which operation in the micro service. The method names between schemas are not unique.
-    3. operation qualified name is the key of the governance, and the URL cannot be directly searched because of the existence of the path parameter, and the qualified name will not change. Governance does not distinguish between transmissions. If governance goes by URL, then when highway is called in, it has to construct the url according to the parameters, and then the regular expression matches, which is too tossing.
-    4. http is just a transport channel, and there are other transport channels that do not need to be mapped to URLs.
+        3. operation qualified name is the key of the governance, and the URL cannot be directly searched because of the existence of the path parameter, and the qualified name will not change. Governance does not distinguish between transmissions. If governance goes by URL, then when highway is called in, it has to construct the url according to the parameters, and then the regular expression matches, which is too tossing.
+        4. http is just a transport channel, and there are other transport channels that do not need to be mapped to URLs.
 
 26. **Q: When the Rest client is invocating, it only takes the service name and URL, and does not need to specify the schema id. In fact, according to this URL, the specific contract can also be found. So what is the role of the specified schema id? **
 
@@ -418,7 +418,7 @@
 27. **Q: What is the concept of Transport? What is it used for? **
 
     A: The Transport is responsible for codec, and transmission. The communication model has two kinds of Rest and Highway. The Highway corresponds to the private protocol, which uses protobuf encoding, and the Rest uses json. Highway and Rest are based on vertx, and vertx is based on netty.
- 
+
 28. **Q: Is there be multiple appIDs and microservices in a service provider? What scenario will this happen? **
 
     A: Yes, what is expressed here is a concept of merge. The microservice.yaml file, which may exist in both jars, disks, and command line arguments, specifies that they are merged by priority and are used for added flexibility. In the jar is the default value, in addition to the environment variables, command line parameters, configuration center coverage, providing multiple layers of customization.
@@ -475,7 +475,7 @@
 * **Q: How to ignore the attributes specified in the contract DTO? **
 
     A: If you are using 'rest transport', because it is Json serialization, you can use @JsonIgnore annotations to mark attributes that need to be ignored; 'highway transport' is not currently supported. Note that you need to update the version of the microservice after the modification, for example:
-  
+
   ```java
   public class OutputForTest{
   @JsonIgnore
@@ -484,9 +484,9 @@
   ...
   }
   ```
- 
+
 * **Q: How to get the value of a field in the header in a user-defined handler**
-    A: Use the @ApiImplicitParams annotation declaration in the user-defined handler and the invocation.getArgs() to get the value of the header. E.g:
+      A: Use the @ApiImplicitParams annotation declaration in the user-defined handler and the invocation.getArgs() to get the value of the header. E.g:
   ```java
   public class MyHandler implements Handler {
     @ApiImplicitParams({@ApiImplicitParam(name = "tester", dataType = "string", paramType = "header")})
@@ -501,8 +501,7 @@
 
     A: Service Center can be upgraded to version 4.0.0+ to solve [Service Center latest version portal] (http://apache.org/dyn/closer.cgi/incubator/servicecomb/incubator-servicecomb-service-center /1.0.0-m1/).
 
-
-*. **Q: Our API can not be accessed after microservices are up. It just returns *404 Not Found*. The codes we use is as follows:**
+* **Q: Our API can not be accessed after microservices are up. It just returns *404 Not Found*. The codes we use is as follows:**
 
    ```java
    @RestController
@@ -521,6 +520,29 @@
    public class WorkerController {}
    ```
 
-*. **Q: What\'s the default base path if I have not declared the value of RequestMapping annotation?**
+* **Q: What\'s the default base path if I have not declared the value of RequestMapping annotation?**
 
-   A: Supposed the class name of your controller is *HelloController*, the base path is /HelloController.
\ No newline at end of file
+   A: Supposed the class name of your controller is *HelloController*, the base path is /HelloController.
+
+* **Q: How to use the function of compressed data transmission?**
+
+* A: To enable the response data compression transmission capability on the server, the following configuration is required:
+
+  ```yaml
+  servicecomb:
+    rest:
+      server:
+        compression: true
+  ```
+
+  At the same time, the consumer side needs to synchronize the activation of configuration items:
+
+  ```yaml
+  servicecomb:
+    rest:
+     client:
+       connection:
+         compression: true
+  ```
+  When the consumer sets the Accept Encoding: gzip, deflate field in the request header, the server will compress the response data based on the algorithm provided in this field and return it.
+
diff --git a/java-chassis-reference/zh_CN/docs/question-and-answer/faq.md b/java-chassis-reference/zh_CN/docs/question-and-answer/faq.md
index 1c8408b..6289757 100644
--- a/java-chassis-reference/zh_CN/docs/question-and-answer/faq.md
+++ b/java-chassis-reference/zh_CN/docs/question-and-answer/faq.md
@@ -38,7 +38,7 @@
   类型的 key 必须使用 String 类型。 业务可以结合实际情况,使用符合规范的类型。 如果必须使用其他类型,
   可以考虑接口定义使用 Object 规避,客户端可以对返回值结果自行进行 json 转换。
   
- 
+   
   
 <h2 id="Q4">Q: 参数返回值不能使用接口?</h2>
 
@@ -47,7 +47,7 @@
   自行进行 json 转换。
 
 
-  
+
 <h2 id="Q5">Q: 参数返回值不能使用泛型?</h2>
 
 * A: 可以使用泛型。但是必须明确泛型类型。比如:
@@ -80,7 +80,7 @@
 如果业务必须使用泛型,并且不能确定类型,可以考虑接口定义使用 Object 规避,客户端可以对返回值结果
 自行进行 json 转换。
 
-  
+
 <h2 id="Q6">Q: 实现类中 public 方法全部被发布为接口,如何排除?</h2>
 
 * A: java chassis 会将所有 public 方法发布为接口。 如果有些接口不需要发布为接口,可以使用 @ApiOperation
@@ -217,14 +217,14 @@
 
     * A: 如果使用ServiceComb sdk servlet方式(使用transport-rest-servlet依赖)制作为war包部署到tomcat,需要保证,
         服务描述文件(microservice.yaml)中rest端口配置和外置容器一致才能实现该服务的正确注册。否则无法感知tomcat开放端口。
- 
+
 * **Q: 如果使用tomcat方式集成ServiceComb微服务框架,服务注册的时候如何将war包部署的上下文注册到服务中心**
 
     * A: 发布服务接口的时候需要将war包部署的上下文(context)放在baseurl最前面,这样才能保证注册到服务中心的路径是完整的路径(包含了上下文)。示例:
 
             @path(/{context}/xxx)
             class ServiceA
- 
+
 * **Q:  ServiceComb微服务框架如何实现数据多个微服务间透传**
 
     * A: 透传数据塞入:
@@ -303,7 +303,7 @@
 * **Q:  qps流控设计时是出于什么场景考虑的?**
 
     * A: 限流有两个主要作用,第一通过给不同的消费者限流保证对一些重点服务的服务效果,第二防止雪崩效应。可根据服务的重要性来决定水管的粗细,ServiceComb是支持消费端限流和服务端限流两种限流方式的,消费端限流可以做到比较精细的控制。
-  
+
 
 * **Q: 如果服务端是链式调用,即类似a->b->c,那设置了qps 流控会不会造成水管粗细不均的事情?**
 
@@ -313,9 +313,32 @@
 
     * A: 可以使用@JsonIgnore注解标记需要忽略的属性, 例如:
 
-            public class OutputForTest{
-                @JsonIgnore
-                private String outputId = null;
-                private String inputId = null;
-                ...
-             }
+        ```java
+        public class OutputForTest{
+            @JsonIgnore
+            private String outputId = null;
+            private String inputId = null;
+            ...
+         }
+        ```
+
+  * **Q: 如何使用数据压缩传输的能力?**
+
+    * A: 服务端要开启响应数据压缩传输的能力,需要进行如下配置:
+
+    ```yaml
+    servicecomb:
+      rest:
+        server:
+          compression: true
+    ```
+    同时,消费端需要同步开启配置项:
+    ```yaml
+    servicecomb:
+      rest:
+        client:
+          connection:
+            compression: true
+    ```
+    当消费端在请求头中设置Accept-Encoding:gzip, deflate的字段时,服务端就会依据该字段中提供的算法,对响应数据进行压缩处理,并返回。
+