激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Java與Http協(xié)議的詳細(xì)介紹

Java與Http協(xié)議的詳細(xì)介紹

2020-12-30 11:16QQ37267015 Java教程

這篇文章主要介紹了Java與Http協(xié)議的詳細(xì)介紹的相關(guān)資料,這里提供實例來幫助大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下

JavaHttp協(xié)議的詳細(xì)介紹

引言                                       

      http(超文本傳輸協(xié)議)是一個基于請求與響應(yīng)模式的、無狀態(tài)的、應(yīng)用層的協(xié)議,常基于TCP的連接方式。HTTP協(xié)議的主要特點是:
     1.支持客戶/服務(wù)器模式。
     2.簡單快速:客戶向服務(wù)器請求服務(wù)時,只需傳送請求方法和路徑。由于HTTP協(xié)議簡單,通信速度很快。
     3.靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對象。類型由Content-Type加以標(biāo)記。
     4.無連接:即每次連接只處理一個請求,處理完客戶的請求,并收到客戶的應(yīng)答后,即斷開連接。采用這種方式可以節(jié)省傳輸時間。
     5.無狀態(tài):無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶能力。

     http1.0協(xié)議默認(rèn)的是非持久連接, HTTP1.1默認(rèn)的連接方式為持久連接。

非持久連接:每次服務(wù)器發(fā)出一個對象后,相應(yīng)的TCP連接就被關(guān)閉,也就是說每個連接都沒有持續(xù)到可用于傳送其他對象。每個TCP連接只用于傳輸一個請求消息和一個響應(yīng)消息。

持久連接:服務(wù)器在發(fā)出響應(yīng)后讓TCP連接繼續(xù)打開著。同一對客戶/服務(wù)器之間的后續(xù)請求和響應(yīng)可以通過這個連接發(fā)送。HTTP/1.1的默認(rèn)模式使用帶流水線的持久連接。

 一、HTTP協(xié)議詳解之請求

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//請求行
POST /reg.jsp HTTP/ (CRLF)   
 
//消息報頭
Accept:image/gif,image/x-xbitmap,image/jpeg,application/x-shockwave-flash,application/vnd.ms-excel,application/vnd.ms-powerpoint,application/msword,*/* (CRLF)
Accept-Language:zh-cn (CRLF)
Accept-Encoding:gzip,deflate (CRLF)
If-Modified-Since:Wed,05 Jan 2007 11:21:25 GMT (CRLF)
If-None-Match:W/"80b1a4c018f3c41:8317" (CRLF)
User-Agent:Mozilla/4.0(compatible;MSIE6.0;Windows NT 5.0) (CRLF)
Host:www.guet.edu.cn (CRLF)
Connection:Keep-Alive (CRLF)
(CRLF)
 
//請求正文
user=jeffrey&pwd=1234

     以上是http請求的三部:請求行、消息報頭、請求正文。

     請求行以一個方法符號開頭,以空格分開,后面跟著請求的URI和協(xié)議的版本,格式如下:

Method Request-URI HTTP-Version CRLF 
     其中 Method表示請求方法(如POST、GET、PUT、DELETE等);Request-URI是一個統(tǒng)一資源標(biāo)識符;HTTP-Version表示請求的HTTP協(xié)議版本;CRLF表示回車和換行。

二、HTTP協(xié)議詳解之響應(yīng)篇

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//狀態(tài)行
HTTP/1.1 200 OK (CRLF)
 
//消息報頭
Cache-Control: private, max-age=30
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Expires: Mon, 25 May 2009 03:20:33 GMT
Last-Modified: Mon, 25 May 2009 03:20:03 GMT
Vary: Accept-Encoding
Server: Microsoft-IIS/7.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: Mon, 25 May 2009 03:20:02 GMT
Content-Length: 12173
 
//響應(yīng)正文

     HTTP響應(yīng)也是由三個部分組成,分別是:狀態(tài)行、消息報頭、響應(yīng)正文

     狀態(tài)行格式如下:

?
1
HTTP-Version Status-Code Reason-Phrase CRLF

     其中,HTTP-Version表示服務(wù)器HTTP協(xié)議的版本;Status-Code表示服務(wù)器發(fā)回的響應(yīng)狀態(tài)代碼;Reason-Phrase表示狀態(tài)代碼的文本描述。

常見狀態(tài)代碼、狀態(tài)描述、說明:

200 OK      //客戶端請求成功
400 Bad Request  //客戶端請求有語法錯誤,不能被服務(wù)器所理解
401 Unauthorized //請求未經(jīng)授權(quán),這個狀態(tài)代碼必須和WWW-Authenticate報頭域一起使用
403 Forbidden  //服務(wù)器收到請求,但是拒絕提供服務(wù)
404 Not Found  //請求資源不存在,eg:輸入了錯誤的URL
500 Internal Server Error //服務(wù)器發(fā)生不可預(yù)期的錯誤
503 Server Unavailable  //服務(wù)器當(dāng)前不能處理客戶端的請求,一段時間后可能恢復(fù)正常 

三、HTTP協(xié)議詳解之消息報頭

        HTTP消息由客戶端到服務(wù)器的請求和服務(wù)器到客戶端的響應(yīng)組成。請求消息和響應(yīng)消息都是由開始行(對于請求消息,開始行就是請求行;對于響應(yīng)消息,開始行就是狀態(tài)行),消息報頭(可選),空行(只有CRLF的行),消息正文(可選)組成。

        HTTP消息報頭包括普通報頭、請求報頭、響應(yīng)報頭、實體報頭。每一個報頭域都是由名字+“:”+空格+值 組成,消息報頭域的名字是大小寫無關(guān)的。

1、請求報頭

     請求報頭允許客戶端向服務(wù)器端傳遞請求的附加信息以及客戶端自身的信息。

常用的請求報頭

Accept請求報頭域用于指定客戶端接受哪些類型的信息。
Accept-Charset請求報頭域用于指定客戶端接受的字符集。
Accept-Encoding請求報頭域類似于Accept,但是它是用于指定可接受的內(nèi)容編碼。
Accept-Language請求報頭域類似于Accept,但是它是用于指定一種自然語言。
Authorization請求報頭域主要用于證明客戶端有權(quán)查看某個資源。

Host請求報頭域主要用于指定被請求資源的Internet主機和端口號,它通常從HTTP URL中提取出來的。User-Agent請求報頭域允許客戶端將它的操作系統(tǒng)、瀏覽器和其它屬性告訴服務(wù)器。

2、響應(yīng)報頭

     響應(yīng)報頭允許服務(wù)器傳遞不能放在狀態(tài)行中的附加響應(yīng)信息,以及關(guān)于服務(wù)器的信息和對Request-URI所標(biāo)識的資源進行下一步訪問的信息。

常用的響應(yīng)報頭

Location響應(yīng)報頭域用于重定向接受者到一個新的位置。Location響應(yīng)報頭域常用在更換域名的時候。
Server響應(yīng)報頭域包含了服務(wù)器用來處理請求的軟件信息

3. 實體報頭

請求和響應(yīng)消息都可以傳送一個實體。

常用的實體報頭

Content-Encoding指示已經(jīng)被應(yīng)用到實體正文的附加內(nèi)容的編碼。

Content-Language實體報頭域描述了資源所用的自然語言。

Content-Length實體報頭域用于指明實體正文的長度,以字節(jié)方式存儲的十進制數(shù)字來表示。
Content-Type實體報頭域用語指明發(fā)送給接收者的實體正文的媒體類型。
Last-Modified實體報頭域用于指示資源的最后修改日期和時間。
Expires實體報頭域給出響應(yīng)過期的日期和時間。

 四、補充

1、HTTP協(xié)議Content Lenth限制漏洞導(dǎo)致拒絕服務(wù)攻擊

使用POST方法時,可以設(shè)置ContentLenth來定義需要傳送的數(shù)據(jù)長度,例如ContentLenth:999999999,在傳送完成前,內(nèi) 存不會釋放,攻擊者可以利用這個缺陷,連續(xù)向WEB服務(wù)器發(fā)送垃圾數(shù)據(jù)直至WEB服務(wù)器內(nèi)存耗盡。這種攻擊方法基本不會留下痕跡。

2、為了提高用戶使用瀏覽器時的性能,現(xiàn)代瀏覽器還支持并發(fā)的訪問方式,瀏覽一個網(wǎng)頁時同時建立多個連接,以迅速獲得一個網(wǎng)頁上的多個圖標(biāo),這樣能更快速完成整個網(wǎng)頁的傳輸。HTTP1.1中提供了這種持續(xù)連接的方式,而下一代HTTP協(xié)議:HTTP-NG更增加了有關(guān)會話控制、豐富的內(nèi)容協(xié)商等方式的支持,來提供更高效率的連接。

 五.Java利用HTTP協(xié)議實現(xiàn)聯(lián)網(wǎng)和下載

Url的請求連接(Get方式)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
String currentUrl=“http://www.myWeb.com/login.jsp?userName='Devin'&passWord='mypassword'”; //URL ?后面的內(nèi)容為HTTP請求的正文
URL url = new URL(currentUrl);
 
HttpURLConnection httpurlconnection = url.openConnection();
//下面的設(shè)置對應(yīng)HTTP請求中的消息報頭
httpurlconnection.setRequestProperty("User-Agent",CommonValues.User_Agent);
httpurlconnection.setRequestProperty("Accept",CommonValues.Accept);
httpurlconnection.setRequestProperty("Accept-Charset",CommonValues.Accept_Charset);
httpurlconnection.setRequestProperty("Accept-Language",CommonValues.Accept_Language);
httpurlconnection.setRequestProperty("Connection",CommonValues.Connection);
httpurlconnection.setRequestProperty("Keep-Alive",CommonValues.Keep_Alive);
httpurlconnection.setConnectTimeout(CommonValues.ConnectionTimeOut);
httpurlconnection.setReadTimeout(CommonValues.ReadTimeOut);
       
httpurlconnection.connect();
      
int responsecode = httpurlconnection.getResponseCode();
       
if(responsecode == HttpURLConnection.HTTP_OK) //對應(yīng)HTTP響應(yīng)中狀態(tài)行的響應(yīng)碼
{
  //操作請求流,這里對應(yīng)HTTP響應(yīng)中的響應(yīng)正文
}
       
if (httpurlconnection != null)
{
  httpurlconnection.disconnect();
}

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://blog.csdn.net/qq_37267015/article/details/76984622

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久精品视频69 | 毛片久久 | 黄色影院一级片 | 欧美三级一级 | 毛片一区二区三区四区 | 午夜精品老牛av一区二区三区 | 国产午夜电影在线观看 | 亚洲一区久久 | 91色琪琪电影亚洲精品久久 | 久久久久久久国产视频 | 午夜视频久久 | 国产99久久精品一区二区300 | 日本特级a一片免费观看 | 免费看综艺策驰影院 | 91看大片| 成人在线视频精品 | 精品国产99久久久久久宅男i | 爱高潮www亚洲精品 国产精品一区自拍 | va毛片 | 国产91av视频 | 国产资源在线播放 | 欧美成人免费 | 久久久久久精 | 一级黄色淫片 | 毛片视频网址 | 国产中文99视频在线观看 | 美女黄网站免费观看 | 成人午夜视频在线观看免费 | 亚洲福利视频52 | 久久久久久久久久久久网站 | 天天碰天天操 | 一级黄色毛片播放 | 国产精品美女久久久久久不卡 | 成年片在线观看 | 精品久久久一二三区播放播放播放视频 | 免费在线一级毛片 | 成人偷拍片视频在线观看 | 国产在线欧美日韩 | 中国精品久久 | 久久精品成人免费国产片桃视频 | 成人电影毛片 |