java消息头,Java网络编程从入门到精通:HTTP消息头字段
Java網(wǎng)絡(luò)編程從入門到精通:HTTP消息頭字段
一、通用頭字段
1. Connection
這個字段只在HTTP1.1協(xié)議中存在。它決定了客戶端和服務(wù)器進行了一次會話后,
服務(wù)器是否立即關(guān)閉網(wǎng)絡(luò)連接。在客戶端最直接的表現(xiàn)是使用read方法(readLine方法也是一樣)讀完客戶端請求的Web資源后,是否立即返回
-1(readLine返回null)。Connection有兩個值:Close和Keep-Alive.當使用Connection:Close時,
和HTTP1.0協(xié)議是一樣的,當read方法讀完數(shù)據(jù)時立即返回;而使用Connection:Keep-Alive時,read方法在讀完數(shù)據(jù)后還要
被阻塞一段時間。直接讀取數(shù)據(jù)超時時間過后,還繼續(xù)往下執(zhí)行。在上一篇文章中討論的readHttpResponse(……)方法實現(xiàn)的第011行可以驗
證Connection的作用。下面讓我們來使用HTTP模擬器來做一個實驗。
(1)在HTTP模擬器中輸入如下的域名:
www.baidu.com
(2)HTTP模擬器中輸入如下的HTTP請求信息:
GET / HTTP/1.1
Host: www.baidu.com
(3)按兩下回車(輸入一個空行)后,發(fā)送請求消息,并得到如圖1如示的HTTP響應(yīng)消息頭:
圖1
(4)輸入y或Y后(在顯示http響應(yīng)頭后,要立刻輸入Y或y),顯示響應(yīng)消息的內(nèi)容。在顯示完內(nèi)容后,大約過了10秒鐘才進入"host:port>"提示符(因為在sendHttpRequest()的實現(xiàn)代碼中的004行設(shè)置了讀取數(shù)據(jù)超時)。
(5)在"host:port>"提示符下直接按回車,輸入最近一次使用的域名www.baidu.com和80端口。再次輸入如下的HTTP請求:
GET / HTTP/1.1
Host: www.baidu.com
Connection: close
輸入完以上的HTTP請求后,重新執(zhí)行第3、4步操作。最后在顯示HTTP響應(yīng)消息內(nèi)容后,直接直入了"host:port>"提示符。除了這種方法,將請求的第一行改為GET / HTTP/1.0.這樣也可以無需等待直接結(jié)束。
通過設(shè)置Connection,可以在下載Web資源(如多線程下載工具、Web瀏覽器等)后,立即斷開網(wǎng)絡(luò)連接,這樣可以有效地降低客戶機的資源消耗。
2. Date
這個Date頭字段描述了請求消息和響應(yīng)消息被創(chuàng)建的時間。這個字段值是一個HTTP-date類型,它的格式必須是GMT(格林尼治)時間,GMT時間是就是北京時間減8小時。下面是Date字段的一個例子:
Date: Tue, 15 Nov 2007 08:12:31 GMT
3. Content-Length
指定消息實�
相關(guān)文檔:
tomcat啟動web服務(wù)的時候總是會有8小時的時差,
琢磨了好久,最簡單的辦法就是
找到文件夾jdk1.6.0_07\jre\lib\zi\Etc
這里邊都是一些時區(qū)文件GTM+1,GTM+2,GTM+3....
備份一份Etc
拷貝N份GTM+8文件(中國的時區(qū)是GTM+8)
把GMT+8文件名改成GTM+1,GTM+2,GTM+3....
覆蓋掉原來的Etc里邊的文件
重啟tomcat問題解決 ......
時間動態(tài)顯示
1.方法一 用TimerTask
利用java.util.Timer和java.util.TimerTask來做動態(tài)更新,畢竟每次更新可以看作是計時1秒發(fā)生一次。
代碼如下:
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文件
執(zhí)行帶main方法的class文件,命令行為:
java?
注意:CLASS文件名不要帶文件后綴.class
例如:
java?Test
如果執(zhí)行的class文件是帶包的,即在類文件中使用了:
package?
那應(yīng)該在包的基路徑下執(zhí)行,命令行為:
java?.CLASS文件 ......
Java編程那些事兒52—方法聲明
第七章 方法
方法的來源
方法的概念來源于數(shù)學上的函數(shù),在數(shù)學中,當數(shù)據(jù)具有一定的規(guī)律時,就是用一個函數(shù)來代碼該數(shù)字的規(guī)律,例如f(n)=n則代表1、2、3、……這樣的一個數(shù)列。在數(shù)學上n是參數(shù),對于確定的n值只有一個f(n)的值和它對應(yīng)
方法是一組為了實現(xiàn)特定功� ......
總結(jié)
以上是生活随笔為你收集整理的java消息头,Java网络编程从入门到精通:HTTP消息头字段的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java查询spark中生成的文件,sp
- 下一篇: c 运行js脚本语言,Javascrip