二十六 通訊協議 TCP ,HTTP協議

2021-10-22 16:22:41 字數 2987 閱讀 9666

埠號:用兩個位元組表示的整數,它的取值範圍是0~65535

通訊協議:計算機必須遵循的規則

面向連線的通訊協議.在傳輸資料前先在客戶端和服務端建立聯絡,再進行傳輸,安全性更高

tcp特點

三次握手

建立連線,開始資料傳輸

四次揮手

客戶端請求斷開連線

服務收到請求,把資料傳送完畢

伺服器傳送完資料通知客戶端正式斷開

客戶端通知伺服器確定要斷開並等待2msl後斷開 流程

建立服務端的 socket 物件

從socket中拿到輸出流往服務端傳送資料

呼叫socket物件物件 shutdownoutput() ,通知服務端傳送資料完畢

接收伺服器的資訊getinputstream()

呼叫socket物件中 的shutdowninput(),通知服務端接收資料完畢

關閉資源

public

class

clientdemo

outputstream.

close()

; inputstream.

close()

; client.

close();}}

建立服務端物件(serversocket)

監聽,獲取客戶端通訊的socket物件

從socket獲取輸入流,接收伺服器傳送的資料

呼叫socket物件物件shutdowninput方法通知客戶端資料接收完畢

從 socket中拿到輸出流往客戶端傳送回應

呼叫socket物件中的shutdownoutput(),通知客戶端傳送完畢

關閉流

public

class

serversocketdemo

system.out.

println

("str = "

+ str);}

//告訴客戶端 資料讀完了

accept.

shutdowninput()

;//伺服器 回應客戶端

("你好呀,客戶端");

//沖刷資料

printwriter.

flush()

; accept.

shutdownoutput()

;//釋放資源

inputstream.

close()

; outputstream.

close()

;server.

close();}}

web資源分類:靜態資源,動態資源

軟體伺服器:其實就是乙個軟體,提供了b/s執行環境,可以將我們開發好的靜態資源或動態資源提供給外界(瀏覽器)訪問

硬體伺服器:就是一台電腦,該電腦安裝了軟體伺服器

根據localhost找到伺服器(主機)

先根據localhost去本地的host檔案中找對應的ip位址,沒有找到,去對應的dns伺服器找對應的ip位址,最終知道了localhost對應的ip位址,找到伺服器

2.根據8080 埠 ,去伺服器(主機) 找對應的軟體(tomcat伺服器軟體)

3.找到tomcat伺服器軟體中對應的專案(root)

4.根據index.jsp(資源名稱),去找root專案中找到對應名稱的資源

5.找到了,則tomcat返回對應資源給瀏覽器

hypertext transfer protocol超文字傳輸協議 ,在tcp/ip協議之上的乙個應用層協議,作用:用於規定瀏覽器和伺服器之間資料傳輸的格式

http協議埠號是80

https的協議埠是 443 加密協議(安全協議)

1.無狀態:協議對客戶端沒有狀態儲存 對事務處理沒有記憶功能

2.版本號: 1.0 與1.1

3.基於請求和響應,客戶端發起請求,服務端響應

請求行:請求方式請求位址 協議和版本

請求頭:由各種鍵值對組成,是瀏覽器傳送給伺服器的資訊

請求體:只有post請求有請求體 ,get沒有請求體

post方式

get方式

位址列資料在請求體中傳送,位址列不顯示引數

資料請求行中傳送,在位址列可以看到引數

大小資料大小沒有限制

請求資料不能超過2k

安全性安全性更高

安全性更低

快取傳送資料不使用本地快取

從伺服器上獲取資料,會使用快取

型別表單 method 為post

表單 method為get,超連結,瀏覽器直接訪問資源等

post請求資料大小沒有限制,在請求體中,相對於get安全

RFID學習(六)通訊協議概述

通訊協議是通訊的雙方或多方在交流時遵守的規矩,包括誰先發起通訊,先交流什麼,後交流什麼,一方如何問,另一方如何答等。在這裡通迅的雙方指的是讀寫器和卡片。首先是誰先發起通訊,很顯然有兩種,讀寫器先發言和卡片先發言。前一種叫reader talk first,簡稱為rtf 後一種叫tag talk fi...

智慧型家居通用管理平台 六 通訊協議

各廠商裝置的狀態資料和控制引數千差萬別,為了規範驅動程式 客戶端應用中使用資料的標準,我們制定了統一的資料格式,按照統一的協定,shp就可以統一的模式管理所有的裝置了。除了串列埠通訊外,訊息的傳遞採用stringjson物件。前面提到過,它實質是乙個資料字典,可以儲存任何內容。但儲存的內容,必須按照...

第二人生的原始碼分析 二十六 底層網路協議

為了理解第二人生的客戶端與伺服器的溝通,那麼下面就來分析一下第二人生採用的網路協議。在目前的網路裡,主要有兩個協議 tcp和udp,而第二人生裡是採用udp協議。tcp協議與udp協議的主要區別,就是tcp有流量控制,可靠性控制,ip層組包功能,連線需要三次握手,而udp沒有這些保證,因此udp傳送...