java消息头,Java网络编程从入门到精通:HTTP消息头字段

Java网络编程从入门到精通:HTTP消息头字段

一、通用头字段

1. Connection

这个字段只在HTTP1.1协议中存在。它决定了客户端和服务器进行了一次会话后,

服务器是否立即关闭网络连接。在客户端最直接的表现是使用read方法(readLine方法也是一样)读完客户端请求的Web资源后,是否立即返回

-1(readLine返回null)。Connection有两个值:Close和Keep-Alive.当使用Connection:Close时,

和HTTP1.0协议是一样的,当read方法读完数据时立即返回;而使用Connection:Keep-Alive时,read方法在读完数据后还要

被阻塞一段时间。直接读取数据超时时间过后,还继续往下执行。在上一篇文章中讨论的readHttpResponse(……)方法实现的第011行可以验

证Connection的作用。下面让我们来使用HTTP模拟器来做一个实验。

(1)在HTTP模拟器中输入如下的域名:

www.baidu.com

(2)HTTP模拟器中输入如下的HTTP请求信息:

GET / HTTP/1.1

Host: www.baidu.com

(3)按两下回车(输入一个空行)后,发送请求消息,并得到如图1如示的HTTP响应消息头:

图1

(4)输入y或Y后(在显示http响应头后,要立刻输入Y或y),显示响应消息的内容。在显示完内容后,大约过了10秒钟才进入"host:port>"提示符(因为在sendHttpRequest()的实现代码中的004行设置了读取数据超时)。

(5)在"host:port>"提示符下直接按回车,输入最近一次使用的域名www.baidu.com和80端口。再次输入如下的HTTP请求:

GET / HTTP/1.1

Host: www.baidu.com

Connection: close

输入完以上的HTTP请求后,重新执行第3、4步操作。最后在显示HTTP响应消息内容后,直接直入了"host:port>"提示符。除了这种方法,将请求的第一行改为GET / HTTP/1.0.这样也可以无需等待直接结束。

通过设置Connection,可以在下载Web资源(如多线程下载工具、Web浏览器等)后,立即断开网络连接,这样可以有效地降低客户机的资源消耗。

2. Date

这个Date头字段描述了请求消息和响应消息被创建的时间。这个字段值是一个HTTP-date类型,它的格式必须是GMT(格林尼治)时间,GMT时间是就是北京时间减8小时。下面是Date字段的一个例子:

Date: Tue, 15 Nov 2007 08:12:31 GMT

3. Content-Length

指定消息实�

相关文档:

tomcat启动web服务的时候总是会有8小时的时差,

琢磨了好久,最简单的办法就是

找到文件夹jdk1.6.0_07\jre\lib\zi\Etc

这里边都是一些时区文件GTM+1,GTM+2,GTM+3....

备份一份Etc

拷贝N份GTM+8文件(中国的时区是GTM+8)

把GMT+8文件名改成GTM+1,GTM+2,GTM+3....

覆盖掉原来的Etc里边的文件

重启tomcat问题解决 ......

时间动态显示

1.方法一 用TimerTask

利用java.util.Timer和java.util.TimerTask来做动态更新,毕竟每次更新可以看作是计时1秒发生一次。

代码如下:

import java.awt.Dimension;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

import java.util.Timer;

import java.util ......

1、FACTORY(工厂模式)

2、BUILDER(建造模式)

3、FACTORY METHOD(工厂方法模式)

4、PROTOTYPE(原始模型模式)

5、SINGLETON(单例模式)

6、ADAPTER(适配器模式)

7、BRIDGE(桥梁模式)

8、COMPOSITE(合成模式)

9、DECORATOR(装饰模式)

10、FACADE(门面模式)

11、FLYWEIGHT(享元模式) ......

一、运行class文件

执行带main方法的class文件,命令行为:

java 

注意:CLASS文件名不要带文件后缀.class

例如:

java Test

如果执行的class文件是带包的,即在类文件中使用了:

package 

那应该在包的基路径下执行,命令行为:

java .CLASS文件 ......

Java编程那些事儿52—方法声明

第七章 方法

方法的来源

方法的概念来源于数学上的函数,在数学中,当数据具有一定的规律时,就是用一个函数来代码该数字的规律,例如f(n)=n则代表1、2、3、……这样的一个数列。在数学上n是参数,对于确定的n值只有一个f(n)的值和它对应

方法是一组为了实现特定功� ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值