搜尋
首頁JavaJava面試題2023年java實習生求職面試題-HTTP和HTTPS協議

2023年java實習生求職面試題-HTTP和HTTPS協議

一、HTTP簡介

HTTP協定是Hyper Text Transfer Protocol(超文本傳輸協定)的縮寫。 HTTP協定工作於客戶端-服務端架構為上。瀏覽器以HTTP客戶端透過URL向HTTP服務端即WEB伺服器傳送所有請求。 Web伺服器根據接收到的請求後,向客戶端發送回應訊息。

(影片教學分享:java課程

二、HTTP協定特點

無連線:無連線的意思是限制每次連線只處理一個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。
無狀態:HTTP協定是無狀態協定。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的訊息,則它必須重傳,這可能導致每次連接傳送的資料量增加。另一方面,在伺服器不需要先前資訊時它的應答就較快。

三、HTTP之狀態碼

1xx:指示訊息–表示請求已接收,繼續處理
2xx:成功–表示請​​求已成功接收、理解、接受
3xx:重定向–要完成請求必須更進一步的操作
4xx:客戶端錯誤–請求有語法錯誤或請求無法實現
5xx:伺服器端錯誤–伺服器未能實現合法的請求

常見的狀態碼:

200 OK                     //客户端请求成功
400 Bad Request            //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized           //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
403 Forbidden              //服务器收到请求,但是拒绝提供服务
404 Not Found              //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error  //服务器发生不可预期的错误
503 Server Unavailable     //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

四、HTTP工作原理

HTTP協定定義Web客戶端如何從Web伺服器請求Web頁面,以及伺服器如何把Web頁面傳送給客戶端。 HTTP協定採用了請求/回應模型。客戶端向伺服器發送請求報文,請求封包包含請求的方法、URL、協定版本、請求頭部和請求資料。伺服器以一個狀態行作為回應,回應的內容包括協定的版本、成功或錯誤代碼、伺服器資訊、回應頭部和回應資料。
以下是HTTP 請求/回應的步驟:
1、客戶端連線到Web伺服器
一個HTTP客戶端,通常是瀏覽器,與Web伺服器的HTTP連接埠(預設為80)建立TCP套接字連接。例如,http://www.baidu.con。
2、發送HTTP請求
透過TCP套接字,客戶端向Web伺服器發送一個文字的請求報文,一個請求封包由請求行、請求頭部、空白行和請求資料4部分組成。
3、伺服器接受請求並回傳HTTP回應
Web伺服器解析請求,定位請求資源。伺服器將資源複本寫到TCP套接字,由客戶端讀取。一個回應由狀態行、回應頭部、空行和回應資料4部分組成。

(相關面試題推薦:java面試題目及答案

4、釋放連線TCP連線
若connection 模式為close,則伺服器主動關閉TCP連接,客戶端被動關閉連接,釋放TCP連接;若connection 模式為keepalive,則連接會保持一段時間,在該時間內可以繼續接收請求;
5、客戶端瀏覽器解析HTML內容
客戶端瀏覽器首先解析狀態行,查看顯示請求是否成功的狀態代碼。接著解析每一個回應頭,回應頭告知以下為若干位元組的HTML文件和文件的字元集。客戶端瀏覽器讀取回應資料HTML,根據HTML的語法對其進行格式化,並在瀏覽器視窗中顯示。
例如:在瀏覽器網址列鍵入URL,按下回車之後會經歷以下流程:
1、瀏覽器向DNS 伺服器請求解析該URL 中的網域所對應的IP 位址;
2 、解析出IP 位址後,根據該IP 位址和預設連接埠80,和伺服器建立TCP連線;
3、瀏覽器發出讀取檔(URL 中網域後面部分對應的檔案)的HTTP 請求,該請求報文作為TCP 三次握手的第三個報文的資料傳送給伺服器;
4、伺服器對瀏覽器請求作出回應,並把對應的html 文字傳送給瀏覽器;
5、釋放TCP連線;
6、瀏覽器將該html 文字並顯示內容;   

五、HTTP和HTTPS有什麼區別

HTTPS:是以安全為目標的HTTP通道,簡單講是HTTP的安全版,也就是HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容需要SSL。
HTTPS協定的主要功能可以分為兩種:一種是建立一個資訊安全通道,來確保資料傳輸的安全;另一種就是確認網站的真實性。
HTTPS和HTTP的差異主要如下:
1、https協議需要到ca申請證書,一般免費證書較少,因而需要一定費用。
2、http是超文本傳輸協議,訊息是明文傳輸,https則是具有安全性的ssl加密傳輸協議。
3、http和https使用的是完全不同的連接方式,用的連接埠也不一樣,前者是80,後者是443。
4、http的連接很簡單,是無狀態的;HTTPS協議是由SSL HTTP協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。

六、HTTPS的安全性是怎麼實現的

2023年java實習生求職面試題-HTTP和HTTPS協議

(1)客戶使用https的URL存取Web伺服器,要求與Web伺服器建立SSL連線。
(2)Web伺服器收到客戶端請求後,會將網站的憑證資訊(憑證中包含公鑰)傳送一份給客戶端。
(3)客戶端的瀏覽器與Web伺服器開始協商SSL連線的安全等級,也就是資訊加密的等級。
(4)用戶端的瀏覽器根據雙方同意的安全等級,建立會話金鑰,然後利用網站的公鑰將會話金鑰加密,並傳送給網站。
(5)Web伺服器利用自己的私鑰解密出會話金鑰。
(6)Web伺服器利用會話金鑰加密與客戶端之間的通訊。

2023年java實習生求職面試題-HTTP和HTTPS協議

相關推薦:java入門

以上是2023年java實習生求職面試題-HTTP和HTTPS協議的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中