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)的值和它对应

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

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

  1. ASP网络编程从入门到精通 下载

    <ASP网络编程从入门到精通> 清华大学出版社 特点: 面向ASP零基础读者,循序渐进 全面分析ASP技术细节 用代码描述个个知识点,操作性强 通过典型模块设计,体会ASP的奥妙 通过网上 ...

  2. Java网络编程从入门到精通(21):HTTP消息的格式

    当用户在浏览器中输入一个基于HTTP协议的URL时(以http://开头的URL),就相当于通知器按着这个URL组织生成一个HTTP请求,并交过个请求发送到服务器:同时,等待服务器的响应.无论是请求还 ...

  3. Java网络编程从入门到精通(14):多种多样的建立网络连接的方式

    在上一篇文章中我们讨论了Socket类的基本用法,并给出的例子中使用Socket类连接服务器时使用了一种最简单的连接方式,也就是通过IP和端口号来连接服务器.而为了使连接服务器的方式更灵活,Socke ...

  4. Java网络编程从入门到精通(25):创建ServerSocket对象

    ServerSocket类的构造方法有四种重载形式,它们的定义如下: public ServerSocket() throws IOException public ServerSocket(int  ...

  5. Java网络编程从入门到精通 (9):使用isXxx方法判断地址类型

     IP地址分为普通地址和特殊地址.在前面的文章中所使用的大多数都是普通的IP地址,在本文中将介绍如何利用InetAddress类提供的十个方法来确定一个IP地址是否是一个特殊的IP地址. 一.isAn ...

  6. Java网络编程从入门到精通(24):实现HTTP断点续传下载工具(附源代码)

    源代码下载:download.rar 在前面的文章曾讨论了HTTP消息头的三个和断点继传有关的字段.一个是请求消息的字段Range,另两个是响应消息字段Accept-Ranges和Content-Ra ...

  7. Java网络编程从入门到精通(1):Internet地址概述

    所有连入Internet的终端设备(包括计算机.PDA.打印机以及其他的电子设备)都有一个唯一的索引,这个索引被称为IP地址.现在Internet上的IP地址大多由四个字节组成,这种IP地址叫做IPv ...

  8. Java网络编程从入门到精通(3):为什么不能直接通过IP访问网站

     在<创建InetAdrress对象的四个静态方法>一文中通过getAllByName得到了www.csdn.net对应的四个IP地址.从理论上说,在IE(或其他的Web浏览器,如Fire ...

  9. Java网络编程从入门到精通(4):DNS缓存

    在通过DNS查找域名的过程中,可能会经过多台中间DNS服务器才能找到指定的域名,因此,在DNS服务器上查找域名是非常昂贵的操作.在Java中为了缓解这个问题,提供了DNS缓存.当InetAddress ...

最新文章

  1. 多线程:pthread_cond_wait 实现原理
  2. c++ map用法_Python专题——五分钟带你了解map、reduce和filter
  3. INamingContainer接口解决多个自定义控件ID冲突
  4. 数据科学和人工智能技术笔记 十一、线性回归
  5. Python入门基础之条件判断、循环、dict和set
  6. LeetCode - 不错的题目 - Longest Consecutive Sequence
  7. 初学windows程序设计
  8. 一张图慢慢转换成下一张图_如何把一张照片变成炫酷的动图?
  9. 如何将APK上传到谷歌应用市场
  10. MJKDZ PS2手柄控制OskarBot小车(二):硬件连接与通信时序
  11. 数据科学-Matplotlib(直方条形和散点作业)
  12. Python 写一个简单的FTPv2
  13. DSI3协议 CRM模式通信讲解
  14. php 验证码数字英文的,PHP 创设扭曲英文验证码
  15. string split 相关知识
  16. android7 boot root,一加7T/7TPro Root不求人,自己提取boot.img打补丁
  17. 浮点类型的比较,精度控制(float.h的利用 ,DBL_EPSILON)
  18. Java 中的 T,E,K,V, 别傻傻分不清楚!
  19. ubuntu上不了网的解决方法(简便)
  20. php渔夫,渔夫有爱——5.2钓鱼新增内容 附日常稀有鱼经验

热门文章

  1. WeChall_PHP-0817
  2. 踩坑记录:请求接口status返回0
  3. angularjs html5模式,Angularjs $location html5mode浅析
  4. java分治_【Java算法】什么是分治算法?
  5. vue-cli简单使用心得
  6. 三维重建11:点云的全局特征和局部特征
  7. 实践:使用FLANN.LSH进行检索
  8. python转go感觉难_读《我为什么从python转向go》的一些感受
  9. gitlab安装以及操作文档
  10. Javascript简介