目錄
一、常見應(yīng)用層協(xié)議
我們先看一下其常用協(xié)議的端口號(hào):
HTTP(hypertext transfer protocol)超文本傳輸協(xié)議(80)
HTTPS(secure hypertext transfer protocol)安全文本傳輸協(xié)議(443)
FTP(file transfer protocol)文件傳輸協(xié)議(21)
TELNET(terminal NETwork)遠(yuǎn)程登錄(端口號(hào)23)
SMTP簡(jiǎn)單郵件傳輸協(xié)議(25)
郵局協(xié)議POP2-109,POP3-110端口
二、http的無狀態(tài)
Http 協(xié)議無狀態(tài)的含義:
有狀態(tài)協(xié)議
為什么說http協(xié)議是無狀態(tài)協(xié)議
無狀態(tài)的好處和壞處?
三、http的壓縮傳輸
壓縮方式選擇哪一種?
如何使用gzip進(jìn)行壓縮
HTTP方式下的Gzip壓縮傳輸
實(shí)現(xiàn):Tomcat 開啟Gzip?:https://blog.csdn.net/clerk0324/article/details/51672933
幾種壓縮算法:
linux中tar.gz先打包再壓縮
linux下的壓縮文件:.tar、.zip、.gz、.?tar.gz、.tgz、.bz2
zip和tar的區(qū)別如下:?
一、常見應(yīng)用層協(xié)議
我們都知道,在TCP/IP模型中,應(yīng)用層是最高層,應(yīng)用層包括所有的高層協(xié)議,并且不斷有新的協(xié)議加入。
常用的保留TCP/UDP端口號(hào)
常用的保留TCP端口號(hào)有:
HTTP 80,F(xiàn)TP 20(數(shù)據(jù)連接)/21(控制連接),POP3 110,Telnet 23,SMTP 25,DNS 53等。
常用的保留UDP端口號(hào)有:
DNS 53,BootP引導(dǎo)協(xié)議(BOOTP)服務(wù) 67(server)/ 68(client),TFTP 69,SNMP 161等。
我們先看一下其常用協(xié)議的端口號(hào):
常用服務(wù)?? ?協(xié)議?? ?端口號(hào)
POP3?? ?TCP?? ?110
IMAP?? ?TCP?? ?143
SMTP?? ?TCP?? ?25
Telnet?? ?TCP?? ?23
終端服務(wù)?? ?TCP?? ?3389
PPTP?? ?TCP?? ?1723
HTTP?? ?TCP?? ?80
FTP(控制)?? ?TCP?? ?21
FTP(數(shù)據(jù))?? ?TCP?? ?20
HTTPS?? ?TCP?? ?443
NTP?? ?UDP?? ?123
RADIUS?? ?UDP?? ?1645
DHCP?? ?UDP?? ?67
DNS?? ?UDP?? ?53
DNS?? ?TCP?? ?53
SNMP?? ?UDP?? ?161
ipsec?? ?UDP?? ?500
TFTP?? ?UDP?? ?69
L2TP?? ?UDP?? ?1701
HTTP(hypertext transfer protocol)超文本傳輸協(xié)議(80)
用于傳輸internet瀏覽器使用的普通文本、超文本、音頻和視頻等數(shù)據(jù)。端口號(hào)TCP 80
詳情請(qǐng)看博文:這里寫鏈接內(nèi)容
HTTPS(secure hypertext transfer protocol)安全文本傳輸協(xié)議(443)
是基于HTTP開發(fā)的,HTTPS應(yīng)用了安全套接字層(SSL)作為HTTP應(yīng)用層的子層,可以對(duì)數(shù)據(jù)進(jìn)行加密和壓縮。端口號(hào)443.
FTP(file transfer protocol)文件傳輸協(xié)議(21)
它是基于傳輸層的TCP協(xié)議。
概述
文件傳輸協(xié)議,負(fù)責(zé)將文件從一臺(tái)計(jì)算機(jī)傳送到另一臺(tái)計(jì)算機(jī)上,并且保證其傳輸?shù)目煽啃?,客戶端提出文件傳輸?qǐng)求,服務(wù)器接收請(qǐng)求并提供服務(wù)。
過程:
首先在本地計(jì)算機(jī)上啟動(dòng)FTP客戶程序,利用他與遠(yuǎn)程計(jì)算機(jī)建立連接,遠(yuǎn)程計(jì)算機(jī)上的服務(wù)端FTP程序被激活。這樣本地的FTP程序成為一個(gè)客戶,而遠(yuǎn)程FTP程序成為服務(wù)器,他們之間通過TCP建立連接,端口號(hào)為21.
功能
1、可以從本地上傳和從服務(wù)器下載文件
2、能夠傳輸各種類型的文件,包括文件,圖片,視頻等
3、能夠提供對(duì)本地和遠(yuǎn)程計(jì)算機(jī)的目錄操作
4、對(duì)文件進(jìn)行改名刪除等操作
FTP協(xié)議的客戶機(jī)與服務(wù)器之間需要建立兩個(gè)連接,一個(gè)用于控制數(shù)據(jù)傳輸(端口21),一個(gè)用于數(shù)據(jù)傳輸(端口20)。
數(shù)據(jù)連接主要用于數(shù)據(jù)傳輸,完成文件內(nèi)容的傳輸??刂七B接主要用于傳輸FTP控制命令和服務(wù)器的回送消息。
TELNET(terminal NETwork)遠(yuǎn)程登錄(端口號(hào)23)
概述:
它是Tnternet中用來進(jìn)行遠(yuǎn)程訪問的重要工具之一。遠(yuǎn)程登錄功能允許用戶與遠(yuǎn)程計(jì)算機(jī)進(jìn)行動(dòng)態(tài)交互,即用自己的鍵盤,鼠標(biāo)等輸入設(shè)備操縱遠(yuǎn)程計(jì)算機(jī),運(yùn)行遠(yuǎn)程計(jì)算機(jī)上的軟件,在自己的顯示器上了解運(yùn)行情況,查看運(yùn)行結(jié)果。
通信過程
用戶的終端實(shí)際上與本地的TELNET客戶機(jī)進(jìn)行通信,遠(yuǎn)程主機(jī)與遠(yuǎn)程TELNET服務(wù)器進(jìn)行通信,然后通過tcp進(jìn)行連接,客戶機(jī)與服務(wù)器之間采用NVT標(biāo)準(zhǔn)進(jìn)行通信。
1、建立與服務(wù)器的TCP連接
2、從鍵盤上接收用戶輸入的字符
3、把用戶輸入的字符串變成標(biāo)準(zhǔn)格式并發(fā)送給服務(wù)器
4、從遠(yuǎn)程服務(wù)器接收輸出的信息
5、把該信息顯示在用戶的屏幕上
SMTP簡(jiǎn)單郵件傳輸協(xié)議(25)
TCP端口號(hào)為25。
概述
在互聯(lián)網(wǎng)中,電子郵件的傳送是依靠SMTP協(xié)議進(jìn)行的。
SMTP協(xié)議包括兩個(gè)標(biāo)準(zhǔn)子集, 一個(gè)標(biāo)準(zhǔn)定義電子郵件信息的格式,另一個(gè)是傳輸郵件的標(biāo)準(zhǔn)。
SMTP的主要任務(wù):負(fù)責(zé)服務(wù)器之間的郵件傳送,最大的特點(diǎn)是簡(jiǎn)單。
只規(guī)定了電子郵件如何在互聯(lián)網(wǎng)中通過TCP協(xié)議在發(fā)送方和接收方之間進(jìn)行傳送。
工作方式
基于客戶/服務(wù)器方式進(jìn)行的。
發(fā)送人的主機(jī)為客戶方,收件人的郵件服務(wù)器為服務(wù)方。在傳送郵件的過程中,需要使用TCP協(xié)議進(jìn)行連接(默認(rèn)端口號(hào)為25)。發(fā)送主機(jī)先將郵件發(fā)送到本地SMTP服務(wù)器上,本地SMTP服務(wù)器與接收方的郵件服務(wù)器建立可靠的TCP連接,從而保證了郵件傳輸?shù)目煽啃浴?br> 注意
1. 接收方必須使用POP3協(xié)議才能取得自己郵箱中的郵件。
2. POP3協(xié)議的主要任務(wù)是實(shí)現(xiàn)用戶計(jì)算機(jī)和郵件服務(wù)器的連接,從郵件服務(wù)器的電子郵箱中讀取郵件。
郵局協(xié)議POP2-109,POP3-110端口
端口說明:109端口是為POP2(Post Office Protocol Version 2,郵局協(xié)議2)服務(wù)開放的,110端口是為POP3(郵件協(xié)議3)服務(wù)開放的,POP2、POP3都是主要用于接收郵件的,目前POP3使用的比較多,許多服務(wù)器都同時(shí)支持POP2和POP3??蛻舳丝梢允褂肞OP3協(xié)議來訪問服務(wù)端的郵件服務(wù),如今ISP的絕大多數(shù)郵件服務(wù)器都是使用該協(xié)議。在使用電子郵件客戶端程序的時(shí)候,會(huì)要求輸入POP3服務(wù)器地址,默認(rèn)情況下使用的就是110端口(如圖)。
二、http的無狀態(tài)
Http 協(xié)議無狀態(tài)的含義:
有狀態(tài)協(xié)議
常見的許多七層協(xié)議實(shí)際上是有狀態(tài)的,例如SMTP協(xié)議,它的第一條消息必須是HELO,用來握手,在HELO發(fā)送之前其他任何命令都是不能發(fā)送的;接下來一般要進(jìn)行AUTH階段,用來驗(yàn)證用戶名和密碼;接下來可以發(fā)送郵件數(shù)據(jù);最后,通過QUT命令退出。可以看到,在整個(gè)傳輸層上,通信的雙方是必須要時(shí)刻記住當(dāng)前連接的狀態(tài)的,因?yàn)椴煌臓顟B(tài)下能接受的命令是不同的;另外,之前的命令傳輸?shù)哪承?shù)據(jù)也必須要記住,可能會(huì)對(duì)后面的命令產(chǎn)生影響。這種就叫做有狀態(tài)的協(xié)議。
為什么說http協(xié)議是無狀態(tài)協(xié)議
為什么說HTTP是無狀態(tài)的協(xié)議呢?因?yàn)樗拿總€(gè)請(qǐng)求都是完全獨(dú)立的,每個(gè)請(qǐng)求包含了處理這個(gè)請(qǐng)求所需的完整的數(shù)據(jù),發(fā)送請(qǐng)求不涉及到狀態(tài)變更即使在HTTP/1.1上,同一個(gè)連接允許傳輸多個(gè)HTTP請(qǐng)求的情況下,如果第一個(gè)請(qǐng)求出錯(cuò)了,后面的請(qǐng)求一般也能夠繼續(xù)處理(當(dāng)然,如果導(dǎo)致協(xié)議解析失敗、消息分片錯(cuò)誤之類的自然是要除外的)。可以看出,這種協(xié)議的結(jié)構(gòu)是要比有狀態(tài)的協(xié)議更簡(jiǎn)單的,一般來說實(shí)現(xiàn)起來也更簡(jiǎn)單,不需要使用狀態(tài)機(jī),一個(gè)循環(huán)就行了。
參考:https://blog.csdn.net/songxiao1124/article/details/120119388
無狀態(tài)的好處和壞處?
“無狀態(tài)”有什么好處呢?
- 因?yàn)榉?wù)器沒有“記憶能力”,所以就不需要額外的資源來記錄狀態(tài)信息,不僅實(shí)現(xiàn)上會(huì)簡(jiǎn)單一些,而且還能減輕服務(wù)器的負(fù)擔(dān),能夠把更多的CPU和內(nèi)存用來對(duì)外提供服務(wù)。?
- 而且,“無狀態(tài)”也表示服務(wù)器都是相同的,沒有“狀態(tài)”的差異,所以可以很容易地組成集群,讓負(fù)載均衡把請(qǐng)求轉(zhuǎn)發(fā)到任意一臺(tái)服務(wù)器,不會(huì)因?yàn)闋顟B(tài)不一致導(dǎo)致處理出錯(cuò),使用“堆機(jī)器”的“笨辦法”輕松實(shí)現(xiàn)高并發(fā)高可用。
那么,“無狀態(tài)”又有什么壞處呢??
既然服務(wù)器沒有“記憶能力”,它就無法支持需要連續(xù)多個(gè)步驟的“事務(wù)”操作。例如電商購(gòu)物,首先要登錄,然后添加購(gòu)物車,再下單、結(jié)算、支付,這一系列操作都需要知道用戶的身份才行,但“無狀態(tài)”服務(wù)器是不知道這些請(qǐng)求是相互關(guān)聯(lián)的,每次都得問一遍身份信息,不僅麻煩,而且還增加了不必要的數(shù)據(jù)傳輸量。
所以,HTTP協(xié)議最好是既“無狀態(tài)”又“有狀態(tài)”,不過還真有“魚和熊掌”兩者兼得這樣的好事,這就是“小甜餅”Cookie技術(shù)。
參考:https://blog.csdn.net/chuangshangbeidong/article/details/115822481
三、http的壓縮傳輸
HTTP1.1開始,Web客戶端可以通過請(qǐng)求頭中Acceppt-Encoding頭來標(biāo)識(shí)對(duì)壓縮的支持。
客戶端HTTP請(qǐng)求頭聲明客戶端瀏覽器支持的壓縮方式,服務(wù)端配置啟用壓縮,壓縮的文件類型,壓縮方式。當(dāng)客戶端請(qǐng)求到達(dá)服務(wù)器,服務(wù)器響應(yīng)時(shí)對(duì)請(qǐng)求資源進(jìn)行壓縮,返回給客戶端瀏覽器,瀏覽器按照相應(yīng)的方式進(jìn)行解析。
?
壓縮方式選擇哪一種?
事實(shí)上這點(diǎn)不用我們操心,選擇gzip就可以了,參考Yahoo!工程師的說法,支持gzip的瀏覽器范圍最廣,使用gzip的壓縮效果最佳。實(shí)際上經(jīng)過我親自考證,www.tmall.com、www.taobao.com、www.jd.com、www.suning.com、www.qq.com、www.baidu.com 這些大型網(wǎng)站都無一例外的使用了gzip這種壓縮方式。
如何使用gzip進(jìn)行壓縮
其實(shí)很簡(jiǎn)單,客戶端不用任何配置,在服務(wù)端配置即可,服務(wù)器不同,配置方法也不盡相同。
參考:https://blog.csdn.net/weixin_30336701/article/details/117846600
HTTP方式下的Gzip壓縮傳輸
?gzip是一種數(shù)據(jù)格式,默認(rèn)且目前僅使用deflate算法壓縮data部分:
Gzip是一種流行的文件壓縮算法,現(xiàn)在的應(yīng)用十分廣泛,尤其是在Linux平臺(tái)。當(dāng)應(yīng)用Gzip壓縮到一個(gè)純文本文件時(shí),效果是非常明顯的,大約可以減少70%以上的文件大小。這取決于文件中的內(nèi)容。
實(shí)現(xiàn):Tomcat 開啟Gzip?:https://blog.csdn.net/clerk0324/article/details/51672933
幾種壓縮算法:
RLE(Run Length Encoding)算法:行程長(zhǎng)度編碼!
算法的大致思想就是將一串連續(xù)的英文字母中連續(xù)重復(fù)出現(xiàn)的次數(shù)計(jì)算出來,然后只是使用對(duì)應(yīng)的單個(gè)字符和出現(xiàn)的次數(shù)來進(jìn)行重新計(jì)數(shù)。
原理參考:https://blog.csdn.net/zyd2016/article/details/113116097
LZW壓縮:LZW壓縮是一種無損壓縮,應(yīng)用于gif圖片。適用于數(shù)據(jù)中存在大量重固子串的情況。
原理:LZW算法中,首先建立一個(gè)字符串表,把每一個(gè)第一次出現(xiàn)的字符串放入串表中,并用一個(gè)數(shù)字來表示,這個(gè)數(shù)字與此字符串在串表中的位置有關(guān),并將這個(gè)數(shù)字存入壓縮文件中,如果這個(gè)字符串再次出現(xiàn)時(shí),即可用表示它的數(shù)字來代替,并將這個(gè)數(shù)字存入文件中。壓縮完成后將串表丟棄。如"print" 字符串,如果在壓縮時(shí)用266表示,只要再次出現(xiàn),均用266表示,并將"print"字符串存入串表中,在圖象解碼時(shí)遇到數(shù)字266,即可從串表中查出266所代表的字符串"print",在解壓縮時(shí),串表可以根據(jù)壓縮數(shù)據(jù)重新生成。
哈夫曼編碼:哈夫曼編碼是無損壓縮當(dāng)中最好的方法。將出現(xiàn)頻率最高的字符使用最短的數(shù)字的來表示,依次遞增。出現(xiàn)頻率最低的字符使用最長(zhǎng)的數(shù)字來表示
它使用預(yù)先二進(jìn)制描述來替換每個(gè)符號(hào),長(zhǎng)度由特殊符號(hào)出現(xiàn)的頻率決定。常見的符號(hào)需要很少的位來表示,而不常見的符號(hào)需要很多位來表示。哈夫曼算法在改變?nèi)魏畏?hào)二進(jìn)制編碼引起少量密集表現(xiàn)方面是最佳的。然而,它并不處理符號(hào)的順序和重復(fù)或序號(hào)的序列。
游程編碼(RLC):游程編碼又稱“運(yùn)行長(zhǎng)度編碼”或“行程編碼”,是一種無損壓縮編碼,JPEG圖片壓縮就用此方法,很多柵格數(shù)據(jù)壓縮也是采用這種方法。
詳細(xì):https://blog.csdn.net/fanyun_01/article/details/80211799?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-3.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~default-3.pc_relevant_default&utm_relevant_index=6文章來源:http://www.zghlxwxcb.cn/news/detail-404789.html
linux中tar.gz先打包再壓縮
linux下的壓縮文件:.tar、.zip、.gz、.?tar.gz、.tgz、.bz2
參考:https://blog.csdn.net/weixin_28725037/article/details/116897408文章來源地址http://www.zghlxwxcb.cn/news/detail-404789.html
zip和tar的區(qū)別如下:?
- tar是Unix和類Unix系統(tǒng)上的打包工具,可以將多個(gè)文件合并為一個(gè)文件,打包后的文件后綴亦為“tar”。
tar?
本身將文件捆綁在一起(結(jié)果稱為?tarball?) - ZIP是一種相當(dāng)簡(jiǎn)單的分別壓縮每個(gè)文件的存檔格式,他的重要作用是壓縮。分別壓縮文件允許不必讀取另外的數(shù)據(jù)而檢索獨(dú)立的文件
到了這里,關(guān)于常見應(yīng)用層協(xié)議端口號(hào)及簡(jiǎn)介【HTTP80、FTP20(數(shù)據(jù)連接)21(控制連接)、POP3 110、DNS 53、TFTP文件傳輸協(xié)議 69】、http無狀態(tài)、http的壓縮傳輸?shù)奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!