小伙伴們出去面試,經(jīng)常會被面試官問到關(guān)于網(wǎng)絡(luò)協(xié)議方面的問題。所以呢,今天大師姐就給大家總結(jié)一下,網(wǎng)絡(luò)協(xié)議中,經(jīng)常被大家問到的一些問題~
HTTP協(xié)議
超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)是一個簡單的請求-響應協(xié)議,它通常運行在TCP之上。它指定了客戶端可能發(fā)送給服務(wù)器什么樣的消息以及得到什么樣的響應。
HTTP協(xié)議是應用層協(xié)議,端口號是:80
HTTP是無狀態(tài),是指處理事物沒有記憶,下一次的請求與上一次的請求,服務(wù)器不知道是來自一個客戶端的。
HTTP是無連接,即每次只處理一個請求,處理完后就斷開連接。
HTTP與HTTPS的區(qū)別
HTTPS是HTTP的安全版本
HTTPS:HTTP+SSL,保證隱私的數(shù)據(jù)可以加密傳輸,并且進行認證,相對于HTTP要安全。
HTTP是明文傳輸,HTTPS是加密傳輸
HTTP端口號是80,HTTPS端口號是443
HTTP不需要認證證書,HTTPS需要申請ca證書
HTTP的Url是以HTTP:開頭,而HTTPS的Url是以HTTPS:開頭
HTTP請求方式一般有哪幾種
Options 允許查看服務(wù)器性能
Get 向服務(wù)器請求資源
Post 向服務(wù)器提交數(shù)據(jù)表單
Put 向服務(wù)器上傳內(nèi)容
Head 與Get相似,返回沒有具體內(nèi)容,主要用于獲取報頭
Trace 回顯服務(wù)器收到請求
Delete 請求服務(wù)器刪除資源
Get與Post的區(qū)別
1、請求方式所放的位置不同
Get請求的參數(shù)是放在Url
Post請求的參數(shù)是放在實體內(nèi)容里面的
2、傳輸?shù)臄?shù)據(jù)大小不同
注意:實質(zhì)上Get與Post請求方式對于傳輸?shù)臄?shù)據(jù)大小沒有限制,只是Url長度有進行限制,所以會造成Get與Post請求參數(shù)大小要求不一樣。
Get:因為它是放在Url里面,所以大小一般是在2K以內(nèi)。
Post:因為它是放在實體內(nèi)容里面,所以理論上大小不受限制。
3、用途不一樣
Get:一般是直接用于從服務(wù)器上獲取資源的(比如平時直接點擊 鏈接打開網(wǎng)頁)。
Post:一般是用于向服務(wù)器提交數(shù)據(jù)表單的。(比如提交注冊表單)
4、安全性不一樣
Get:因為參數(shù)是直接放在Url表單之后,所以直接可以看到數(shù)據(jù)內(nèi)容, 相對不安全。
Post:因為參數(shù)是放在實體內(nèi)容里面的,所以不能直觀看到數(shù)據(jù), 相對更安全。
5、是否緩存
Get:請求可以被緩存
Post:請求不會被緩存
6、按后退鍵是否有影響
Get:沒有影響
Post:會重新提交一次表單
補充:實質(zhì)上Get與Post請求本質(zhì)上是沒有區(qū)別的,只是由于工作形式不一樣,所以在應用過程中可能會造成不同的效果。
常用協(xié)議及其端口號
TELNET:是TCP/IP協(xié)議族中的一員,是Internet遠程登錄服務(wù)的標準協(xié)議和主要方式。端口號:23
MYSQL:3306
ORACLE:1521
FTP:文本傳輸協(xié)議,端口號:20
DNS:域名解析協(xié)議,端口號:53
TFTP:簡單文件傳輸協(xié)議,端口號:69
當然這只是一小部分,如果感興趣的小伙伴比較多,可以給我們留言,后續(xù)會持續(xù)更新更多關(guān)于網(wǎng)絡(luò)協(xié)議當中的面試題~
![]() |