转来的一篇博文,此文详细说明了ETAG的作用。我发现网上很多人都在询问ETAG的对于优化网站的作用,有些人直接建议关闭ETAG。这篇博文可以完整的说明ETAG的作用,是否关闭,或者如何配置,要根据自己网站的情况而定。
开始ETAG测试
首先在浏览器输入以下访问地址
比如我们访问某网站:http://xxxxxxxx/
第一次的http请求代码如下(只包含头部信息)
———————————————————-
CODE:
GET / HTTP/1.1
Host: xxxxxxxx
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; ja; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ja,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: Shift_JIS,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
———————————————————-
完成类、方法、变量名称的自动输入
2. Ctrl + N(Ctrl + Shift + N)
跳转到指定的Java文件(其它文件)
3. Ctrl + B
跳转到定义处
4. Ctrl + Alt + T
用if、while、try catch来围绕选中的代码行
5. Ctrl + Alt + B
跳转到方法实现处
6. Ctrl + W
按一个word来进行选择操作,在IDEA里的这个快捷键功能是先选择光标所在字符处的单词,然后是选择源
代码的扩展区域。
7. Shift + F1
在浏览器中显示指定的Java docs
8. Ctrl + Q
在editor window中显示java docs这个功能很方便--因为有时仅仅是忘记了自己编写的方法中的某个参数的含义,此时又不想再起一个浏览器来查看java doc,此时这个功能的好处就体现出来了
9. Ctrl + /
注释/反注释指定的语句,你也可以用Ctrl + Shift + / 来进行多行语句的注释(即使用多行注释符号"/* ... */")
10. F2/Shift + F2
跳转到下/上一个错误语句处
11. Shift + F6
提供对方法、变量的重命名
sb.append(" _ooOoo_\n");
sb.append(" o8888888o\n");
sb.append(" 88\" . \"88\n");
sb.append(" (| -_- |)\n");
sb.append(" O\\ = /O\n");
sb.append(" ____/`---'\\____\n");
sb.append(" .' \\\\| |// `.\n");
sb.append(" / \\\\||| : |||// \\ \n");
sb.append(" / _||||| -:- |||||- \\ \n");
sb.append(" | | \\\\\\ - /// | |\n");
sb.append(" | \\_| ''\\---/'' | |\n");
sb.append(" \\ .-\\__ `-` ___/-. /\n");
sb.append(" ___`. .' /--.--\\ `. . __\n");
sb.append(" .\"\" '< `.___\\_<|>_/___.' >'\"\".\n");
sb.append(" | | : `- \\`.;`\\ _ /`;.`/ - ` : | |\n");
sb.append(" \\ \\ `-. \\_ __\\ /__ _/ .-` / /\n");
sb.append("======`-.____`-.___\\_____/___.-`____.-'======\n");
sb.append(" `=---='\n");
sb.append("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n");
sb.append("\t\t佛祖保佑 永不宕机 永无BUG\n");
System.err.println(sb.toString());





