http協議學習日記

2021-06-18 05:19:15 字數 3240 閱讀 3490

web應用開發好後,若想供外界訪問,需要把web應用所在目錄交給web伺服器管理,這個過程稱之為虛擬目錄的對映。

虛擬目錄的對映三種方式:

1、在server.xml檔案的host元素中配置,例如:

2、在tomcat6中,不再建議在server.xml檔案中配置context元素,細節檢視tomcat伺服器關於context元素的說明。

web應用的組成結構:

開發web應用時,不同型別的檔案有嚴格的存放規則,否則不僅可能會使web應用無法訪問,還會導致web伺服器啟動報錯。

tomcat體系架構:

配置加密聯結器:

加密過程:接收方產生一對公鑰和私鑰,傳送方用接收方的產生的公鑰加密資料後,再用自己產生的私鑰再加密資料傳送給接收方,接收方先用傳送方的公鑰解密,再用自己的私鑰解密,在確認對方的公鑰時用到了ca數字證書。

私鑰加密公鑰解密時,用於確保資料**

配置過程:

•   在命令列中輸入命令:keytool -genkey -alias tomcat -keyalgrsa,根據提示輸入要產生金鑰庫的**和密碼,產生.keystore檔案,將該檔案放入tomcat伺服器conf資料夾下。

•   在tomcat的server.xml檔案中進行配置如下:

http協議:

客戶端連上web伺服器後,若想獲得web伺服器中的某個web資源,需遵守一定的通訊格式,http協議用於定義客戶端與web伺服器通迅的格式。

http是hypertext transfer protocol(超文字傳輸協議)的簡寫,它是tcp/ip協議的乙個應用層協議,用於定義web瀏覽器與web伺服器之間交換資料的過程。

在http1.0協議中,客戶端與web伺服器建立連線後,只能獲得乙個web資源。

http1.1協議,允許客戶端與web伺服器建立連線後,在乙個連線上獲取多個web資源。

http請求:

客戶端連上伺服器後,向伺服器請求某個web資源,稱之為客戶端向伺服器傳送了乙個http請求。乙個完整的http請求包括如下內容:

乙個請求行、若干訊息頭、以及實體內容,如下所示 :

l請求行中的get稱之為請求方式,請求方式有:

•   post、get、head、options、delete、trace、put

•   常用的有: get、 post

不管post或get,都用於向伺服器請求某個web資源,這兩種方式的區別主要表現在資料傳遞上:

如請求方式為post方式,則可以在請求的實體內容中向伺服器傳送資料,post方式的特點:傳送的資料量無限制。

http請求頭

accept: 用於告訴伺服器,客戶機所支援的資料型別

accept-charset: 用於告訴伺服器,客戶機所採用的碼表

accept-encoding: 用於告訴伺服器,客戶機所支援的資料壓縮格式

accept-language: 用於告訴伺服器,客戶機的語法環境

host: 用於告訴伺服器,客戶機想訪問伺服器哪台主機

if-modified-since: 用於告訴伺服器,客戶機對於資源的最後快取時間

referer: 用於告訴伺服器,客戶機是從哪個頁面去訪問伺服器的  (防盜煉)

user-agent: 用於告訴伺服器,客戶機的機器環境(例如所使用的作業系統,瀏覽器版本號)

cookie:客戶端通過這個頭欄位,可以帶一些資料給伺服器

http響應:

l乙個http響應代表伺服器向客戶端回送的資料,它包括:

乙個狀態行、若干訊息頭、以及實體內容 。

l狀態行

格式:http版本號 狀態碼 原因敘述

舉例:http/1.1 200 ok

l 狀態碼用於表示伺服器對請求的處理結果,它是乙個三位的十進位制數。響應狀態碼分為5類,如下所示:

302:找別人

304和307:拿快取

http響應頭

location:這個頭通常配合302狀態碼使用,伺服器使用這個頭告訴瀏覽器去找誰

server:伺服器通過這個頭告訴瀏覽器,伺服器的型別

content-encoding: 伺服器通過這個頭告訴瀏覽器,資料的壓縮格式(gzip)

content-length:伺服器通過這個頭告訴瀏覽器,回送資料的長度

content-language:

content-type: 伺服器通過這個頭告訴瀏覽器,回送資料的型別

last-modified: 伺服器通過這個頭告訴瀏覽器,資料的最後修改時間

refresh:伺服器通過這個頭告訴瀏覽器,多長時間定時重新整理

transfer-encoding: 伺服器通過這個頭告訴瀏覽器,資料是以塊方式回送的

expires:控制瀏覽器快取資料的時間(-1或0,代表控制瀏覽器不要快取)

cache-control: no-cache 

pragma: no-cache  以上三個頭一起用,就可以控制所有的瀏覽器不要快取資料

HTTP協議學習

1 什麼是http協議?http是超文字傳輸協議,是基於tcp ip協議之上實現的用於客戶端和伺服器之間資料傳輸的一種協議 2 什麼是http協議的無狀態?怎麼解決http協議的無狀態?解決 使用cookie或者session來保持會話 3 http支援的方法有哪些?一共有8種請求方法 get 獲取...

HTTP協議學習

面試過程中又乙個常見的問題,http協議,因為做伺服器開發如果用http協議的話,現在各種開源軟體都封裝好了,python中只需要簡單的繼承定義好的類,重寫get或者post等方法,幾行 就可以搭建起來乙個簡單的http伺服器,導致底層對程式設計師來說都是透明的了。但是面試中追求這個底層的問題還不少...

HTTP 協議學習

摘自 http簡介 http,hyper text transfer protocol 超文字傳輸協議 是用於從全球資訊網 www world wide web 伺服器傳輸超文字到本地瀏覽器的傳送協議。http是乙個基於tcp ip通訊協議來傳遞資料 過程 http協議工作於客戶端 服務端架構為上。...