中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

ecshop源碼南京seo報價

ecshop源碼,南京seo報價,wordpress側(cè)邊欄css,超級大氣的一款工作室網(wǎng)站制作網(wǎng)絡(luò)科技公司站點源碼直接可用一、TCP/IP協(xié)議 作為一個小萌新,當(dāng)然我無法將tcp/ip協(xié)議的大部分江山和盤托出,但是其中很多面試可能問到的知識,我覺得有必要總結(jié)一下! 首先,在學(xué)習(xí)tcp/ip協(xié)議之前,我們必須搞明白什么是tcp/ip協(xié)議。 1、…

一、TCP/IP協(xié)議

作為一個小萌新,當(dāng)然我無法將tcp/ip協(xié)議的大部分江山和盤托出,但是其中很多面試可能問到的知識,我覺得有必要總結(jié)一下!
首先,在學(xué)習(xí)tcp/ip協(xié)議之前,我們必須搞明白什么是tcp/ip協(xié)議。

1、什么是tcp/ip協(xié)議

書本上的定義:網(wǎng)絡(luò)協(xié)議是為計算機(jī)網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)交換而建立的規(guī)則、標(biāo)準(zhǔn)或約定的集合。

比如:中國人之間交流使用漢語,要遵循漢語的語法結(jié)構(gòu)和發(fā)音;那如果我們跟英國人交流的話,就要使用英語的語法結(jié)構(gòu)和發(fā)音;人與人之間交流所用的語言就是一種協(xié)議。對于計算機(jī)來說,兩臺機(jī)器之間的通信就要制定各種各樣的協(xié)議,例如:文件傳輸使用TCP協(xié)議,域名系統(tǒng)使用DNS協(xié)議。數(shù)據(jù)根據(jù)協(xié)議規(guī)定的內(nèi)容進(jìn)行傳輸,這樣就實現(xiàn)了兩臺機(jī)器之間的通信。

總的來說:網(wǎng)絡(luò)協(xié)議就是人為規(guī)定的一套通信規(guī)范,只要雙方都遵循這個規(guī)范,就能實現(xiàn)交流。
TCP/IP具體含義:從字面意義上講,可能會認(rèn)為 TCP/IP 是指 TCP 和 IP 兩種協(xié)議。然而多數(shù)情況下,它只是利用ip進(jìn)行通信時所必須用到的協(xié)議群的統(tǒng)稱。具體來說,IP 或 ICMP、TCP 或 UDP、TELNET 或 FTP、以及 HTTP 等都屬于 TCP/IP 協(xié)議。他們與 TCP 或 IP 的關(guān)系緊密,是互聯(lián)網(wǎng)必不可少的組成部分。TCP/IP 一詞泛指這些協(xié)議,因此,有時也稱 TCP/IP 為網(wǎng)際協(xié)議群。

2、tcp/ip協(xié)議的分層

TCP/IP協(xié)議族中有一個重要的概念是分層,提到協(xié)議分層,通常會聯(lián)想到OSI的七層協(xié)議經(jīng)典架構(gòu),但是TCP/IP協(xié)議族的結(jié)構(gòu)則稍有不同,但是二者之間有一定聯(lián)系,如圖所示:
在這里插入圖片描述
在這里插入圖片描述

tcp/ip協(xié)議分為“應(yīng)用層、傳輸層網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層”。

2.1、應(yīng)用層

顧名思義,應(yīng)用層就是我們應(yīng)用和接觸最多的層,我們最常寫的Java程序,甚至QQ微信都是應(yīng)用層的產(chǎn)物。
應(yīng)用層決定這次通信的應(yīng)用類型,比如說FTP、DNS、SMTP等等,同時HTTP協(xié)議也屬于應(yīng)用層的范圍。通俗來講,應(yīng)用層決定這一次通信要干嘛。

2.2、傳輸層

應(yīng)用層把數(shù)據(jù)丟給傳輸層后,傳輸層把數(shù)據(jù)進(jìn)行一下包裝,包裝紙上面寫著“源端口、目的端口、序號、確認(rèn)序號、檢驗和等TCP自身的數(shù)據(jù),
傳輸層提供兩臺計算機(jī)之間的數(shù)據(jù)傳輸,傳輸層中包含著兩個很吊的協(xié)議,分別是TCPUDP協(xié)議,而且沒有第三種協(xié)議可走。
TCP和UDP協(xié)議的區(qū)別

1、基于連接(TCP)與無連接(UDP)。 2、TCP要求系統(tǒng)資源較多,UDP較少。 3、UDP程序結(jié)構(gòu)較簡單。
4、流模式(TCP)與數(shù)據(jù)報模式(UDP)。 5、TCP保證數(shù)據(jù)正確性,UDP可能丟包。 6、TCP保證數(shù)據(jù)順序,UDP不保證。
7、TCP面向連接(如打電話要先撥號建立連接);UDP是無連接的,即發(fā)送數(shù)據(jù)之前不需要建立連接。
8、TCP提供可靠的服務(wù)。也就是說,通過TCP連接傳送的數(shù)據(jù),無差錯,不丟失,不重復(fù),且按序到達(dá);UDP盡最大努力交付,即不保證可靠交付。
9、TCP面向字節(jié)流,實際上是TCP把數(shù)據(jù)看成一連串無結(jié)構(gòu)的字節(jié)流;UDP是面向報文的,沒有擁塞控制,因此網(wǎng)絡(luò)出現(xiàn)擁塞不會使源主機(jī)的發(fā)送速率降低(對實時應(yīng)用很有用,如IP電話,實時視頻會議等)。
10、每一條TCP連接只能是點到點的;UDP支持一對一,一對多,多對一和多對多的交互通信。
11、TCP首部開銷20字節(jié);UDP的首部開銷小,只有8個字節(jié)。 12、TCP的邏輯通信信道是全雙工的可靠信道,UDP則是不可靠信道。

此外,面試中經(jīng)常提及的三次握手,四次揮手就是TCP協(xié)議的部分內(nèi)容 。

三次握手,四次揮手
TCP有6種標(biāo)志符

	1、SYN(synchronous),建立聯(lián)機(jī)2、ACK(acknowledgement),確認(rèn)3、PSH(push),傳輸4、FIN(finish),結(jié)束5、RST(reset),重置6、URG(urgent),緊急

1、三次握手:

概念:指在發(fā)送數(shù)據(jù)的準(zhǔn)備階段,服務(wù)器和客戶端之間需要三次交互

第一次握手:建立連接時,客戶端向服務(wù)器發(fā)送一個SYN包,并進(jìn)入SYN_SENT狀態(tài),等待服務(wù)器確認(rèn)

第二次握手:當(dāng)服務(wù)器收到客戶端的請求后,此時要給客戶端給一個確認(rèn)信息ACK,同時發(fā)送SYN包,此時服務(wù)器進(jìn)入 SYN_RECV狀態(tài)

第三次握手:客戶端收到服務(wù)器發(fā)的ACK+SYN包后,向服務(wù)器發(fā)送ACK,發(fā)送完畢之后,客戶端和服務(wù)器進(jìn)入
ESTABLISHED(TCP連接成功)狀態(tài),完成三次握手

在這里插入圖片描述

2、四次揮手
概念:所謂四次揮手就是說關(guān)閉TCP連接的過程,當(dāng)斷開一個TCP連接時,需要客戶端和服務(wù)器共發(fā)送四個包確認(rèn)

第一次揮手:客戶端發(fā)送一個FIN,用來關(guān)閉客戶端到服務(wù)器的數(shù)據(jù)傳輸,客戶端進(jìn)入FIN_WAIT_1狀態(tài)

第二次揮手:服務(wù)器收到FIN后,發(fā)送一個ACK給客戶端,確認(rèn)序號為收到序號+1(與SYN相同,一個FIN占用一個序號),服務(wù)器進(jìn)入CLOSE_WAIT狀態(tài)

第三次揮手:服務(wù)器發(fā)送一個FIN,用來關(guān)閉服務(wù)器到客戶端的數(shù)據(jù)傳輸,服務(wù)器進(jìn)入LAST_ACK狀態(tài)

第四次揮手:客戶端收到FIN后,客戶端進(jìn)入TIME_WAIT狀態(tài),接著發(fā)送一個AKC給服務(wù)器,確認(rèn)序號為收到序號+1,服務(wù)器進(jìn)入CLOSED狀態(tài),完成四次揮手
在這里插入圖片描述

TCP四次揮手過程中通信雙方狀態(tài)解析:

FIN_WAIT_1:?其實FIN_WAIT_1和FIN_WAIT_2狀態(tài)的真正含義都是表示等待對方的FIN報文。而這兩種狀態(tài)的區(qū)別是:

  1. FIN_WAIT_1狀態(tài):實際上是當(dāng)SOCKET在ESTABLISHED狀態(tài)時,它想主動關(guān)閉連接,向?qū)Ψ桨l(fā)送了FIN報文,此時該SOCKET即進(jìn)入到FIN_WAIT_1狀態(tài)。而當(dāng)對方回應(yīng)ACK報文后,則進(jìn)入到FIN_WAIT_2狀態(tài),當(dāng)然在實際的正常情況下,無論對方何種情況下,都應(yīng)該馬上回應(yīng)ACK報文,所以FIN_WAIT_1狀態(tài)一般是比較難見到的,而FIN_WAIT_2狀態(tài)還有時常??梢杂胣etstat看到。(主動方)
  2. FIN_WAIT_2:實際上FIN_WAIT_2狀態(tài)下的SOCKET,表示半連接,也即有一方要求close連接,但另外還告訴對方,我暫時還有點數(shù)據(jù)需要傳送給你(ACK信息),稍后再關(guān)閉連接。(主動方)

CLOSE_WAIT:表示在等待關(guān)閉。當(dāng)對方close一個SOCKET后發(fā)送FIN報文給自己,你系統(tǒng)毫無疑問地會回應(yīng)一個ACK報文給對方,此時則進(jìn)入到CLOSE_WAIT狀態(tài)。接下來呢,實際上你真正需要考慮的事情是察看你是否還有數(shù)據(jù)發(fā)送給對方,如果沒有的話,那么你也就可以 close這個SOCKET,發(fā)送FIN報文給對方,也即關(guān)閉連接。所以你在CLOSE_WAIT狀態(tài)下,需要完成的事情是等待你去關(guān)閉連接。(被動方)

LAST_ACK:?被動關(guān)閉一方在發(fā)送FIN報文后,最后等待對方的ACK報文。當(dāng)收到ACK報文后,也即可以進(jìn)入到CLOSED可用狀態(tài)了。(被動方)

TIME_WAIT:?表示收到了對方的FIN報文,并發(fā)送出了ACK報文,就等2MSL后即可回到CLOSED可用狀態(tài)了。如果FIN WAIT1狀態(tài)下,收到了對方同時帶FIN標(biāo)志和ACK標(biāo)志的報文時,可以直接進(jìn)入到TIME_WAIT狀態(tài),而無須經(jīng)過FIN_WAIT_2狀態(tài)。(主動方)

CLOSED:?表示連接中斷。

為什么要有TIME_WAIT這個狀態(tài)?

假設(shè)最終的ACK丟失,主機(jī)2將重發(fā)FIN,主機(jī)1必須維護(hù)TCP狀態(tài)信息以便可以重發(fā)最終的ACK,否則會發(fā)送RST,結(jié)果主機(jī)2認(rèn)為發(fā)生錯誤。TCP實現(xiàn)必須可靠地終止連接的兩個方向(全雙工關(guān)閉),主機(jī)1必須進(jìn)入 TIME_WAIT 狀態(tài),因為主機(jī)1可能面 臨重發(fā)最終ACK的情形。

出現(xiàn)太多TIME_WAIT可能導(dǎo)致的后果:

在高并發(fā)短連接的TCP服務(wù)器上,當(dāng)服務(wù)器處理完請求后立刻按照主動正常關(guān)閉連接。這個場景下,會出現(xiàn)大量socket處于TIMEWAIT狀態(tài)。如果客戶端的并發(fā)量持續(xù)很高,此時部分客戶端就會顯示連接不上。 我來解釋下這個場景。主動正常關(guān)閉TCP連接,都會出現(xiàn)TIMEWAIT。為什么我們要關(guān)注這個高并發(fā)短連接呢?有兩個方面需要注意:

① 高并發(fā)可以讓服務(wù)器在短時間范圍內(nèi)同時占用大量端口,而端口有個0~65535的范圍,并不是很多,刨除系統(tǒng)和其他服務(wù)要用的,剩下的就更少了。

②在這個場景中,短連接表示“業(yè)務(wù)處理+傳輸數(shù)據(jù)的時間 遠(yuǎn)遠(yuǎn)小于 TIMEWAIT超時的時間”的連接。這里有個相對長短的概念,比如,取一個web頁面,1秒鐘的http短連接處理完業(yè)務(wù),在關(guān)閉連接之后,這個業(yè)務(wù)用過的端口會停留在TIMEWAIT狀態(tài)幾分鐘,而這幾分鐘,其他HTTP請求來臨的時候是無法占用此端口的。單用這個業(yè)務(wù)計算服務(wù)器的利用率會發(fā)現(xiàn),服務(wù)器干正經(jīng)事的時間和端口(資源)被掛著無法被使用的時間的比例是 1:幾百,服務(wù)器資源嚴(yán)重浪費。

說個題外話,從這個意義出發(fā)來考慮服務(wù)器性能調(diào)優(yōu)的話,長連接業(yè)務(wù)的服務(wù)就不需要考慮TIMEWAIT狀態(tài)。同時,假如你對服務(wù)器業(yè)務(wù)場景非常熟悉,你會發(fā)現(xiàn),在實際業(yè)務(wù)場景中,一般長連接對應(yīng)的業(yè)務(wù)的并發(fā)量并不會很高

綜合這兩個方面,持續(xù)的到達(dá)一定量的高并發(fā)短連接,會使服務(wù)器因端口資源不足而拒絕為一部分客戶服務(wù)。

time_wait狀態(tài)如何避免

首先服務(wù)器可以設(shè)置SO_REUSEADDR套接字選項來通知內(nèi)核,如果端口忙,但TCP連接位于TIME_WAIT狀態(tài)時可以重用端口。在一個非常有用的場景就是,如果你的服務(wù)器程序停止后想立即重啟,而新的套接字依舊希望使用同一端口,此時SO_REUSEADDR選項就可以避免TIME_WAIT狀態(tài)。

2.3、網(wǎng)絡(luò)層

應(yīng)用層將數(shù)據(jù)丟給傳輸層進(jìn)行包裝,網(wǎng)絡(luò)層則是用來處理這些流動的數(shù)據(jù)包,也就是如果把相應(yīng)的數(shù)據(jù)包路由到指定的地點,為通信時的網(wǎng)絡(luò)傳輸選擇傳輸路線。
就像送快遞一樣,需要選擇正確路線,才能送到你家。

2.4、數(shù)據(jù)鏈路層

數(shù)據(jù)鏈路層包含了軟件與硬件的接口部分,以及各種網(wǎng)絡(luò)設(shè)備的硬件,也就是整個網(wǎng)絡(luò)通信過程中最底層的基礎(chǔ)設(shè)施。

一個HTTP請求的響應(yīng)過程:

簡單了解了每一層的作用之后,我們試著串起來,摸索一下一次整體的http請求到響應(yīng)的過程。
拿訪問google做個例子:

0.訪問google.com,按下回車。

1.應(yīng)用層準(zhǔn)備好請求報文,通過DNS服務(wù)進(jìn)行域名解析,得到google的ip地址,并將報文發(fā)到傳輸層。

2.傳輸層收到報文后,會將請求的數(shù)據(jù)包進(jìn)行拆分,打包,并對每個包裹打上tag。在請求報文的基礎(chǔ)上,加上一層TCP的首部信息,然后發(fā)往網(wǎng)絡(luò)層。

3.到了網(wǎng)絡(luò)層以后,IP協(xié)議就發(fā)揮了巨大的作用,IP協(xié)議中需要兩個比較重要的信息,那就是ip地址和mac地址。ip已經(jīng)在應(yīng)用層通過dns解析出來了,那mac怎么辦。。。真尷尬,然而這時ARP協(xié)議又冒了出來,它可以根據(jù)ip地址反向查詢到目標(biāo)主機(jī)的mac地址。好了,現(xiàn)在啥都有了,打包帶走,把數(shù)據(jù)發(fā)到數(shù)據(jù)鏈路層。

4.終于走到基礎(chǔ)設(shè)施這里了,此時數(shù)據(jù)包就在一根根光纖中旋轉(zhuǎn)跳躍的奔向目的地,當(dāng)然,整個過程不一定是直達(dá)的,可能需要經(jīng)過各種中轉(zhuǎn)站,就跟坐火車轉(zhuǎn)車一樣的。

5.請求到達(dá)服務(wù)器后,先從數(shù)據(jù)鏈路層往上走,并驗證消去以太網(wǎng)首部信息,在網(wǎng)絡(luò)層消去IP首部,在傳輸層消去TCP首部,就像剝洋蔥一樣一層一層去皮,最后剩下的就請求報文。在應(yīng)用層對請求做出處理之后,需要對請求返回一個響應(yīng)。而整個響應(yīng)的傳輸過程就和請求一樣,一層一層的封裝,響應(yīng)到達(dá)客戶端時再一層一層的消去首部,最后呈現(xiàn)響應(yīng)的結(jié)果。

簡而言之,他們可以概括為一張這樣的圖:
在這里插入圖片描述

二、HTTP/HTTPS協(xié)議

?在了解這兩個之前,我們先來看兩張圖:
在這里插入圖片描述
在這里插入圖片描述
從這兩張圖片來看,http協(xié)議和https協(xié)議有一個最顯而易見的區(qū)別:https比http要安全

1、基本概念

1.1、http

HTTP:是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議,是一個客戶端和服務(wù)器端請求和應(yīng)答的標(biāo)準(zhǔn)(基于TCP/IP協(xié)議),用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議,它可以使瀏覽器更加高效,使網(wǎng)絡(luò)傳輸減少。

HTTP 是一個屬于應(yīng)用層的面向?qū)ο蟮膮f(xié)議,HTTP 協(xié)議一共有五大特點:
1、支持客戶/服務(wù)器模式;
2、簡單快速;
3、靈活;
4、無連接;
5、無狀態(tài)。

其中我們主要了解一下無連接和無狀態(tài)這兩個特點:

1、無連接
無連接的含義是限制每次連接只處理一個請求。服務(wù)器處理完客戶的請求,并收到客戶的應(yīng)答后,即斷開連接。采用這種方式可以節(jié)省傳輸時間。

早期這么做的原因是 HTTP 協(xié)議產(chǎn)生于互聯(lián)網(wǎng),因此服務(wù)器需要處理同時面向全世界數(shù)十萬、上百萬客戶端的網(wǎng)頁訪問,但每個客戶端(即瀏覽器)與服務(wù)器之間交換數(shù)據(jù)的間歇性較大(即傳輸具有突發(fā)性、瞬時性),并且網(wǎng)頁瀏覽的聯(lián)想性、發(fā)散性導(dǎo)致兩次傳送的數(shù)據(jù)關(guān)聯(lián)性很低,大部分通道實際上會很空閑、無端占用資源。

因此 HTTP 的設(shè)計者有意利用這種特點將協(xié)議設(shè)計為請求時建連接、請求完釋放連接,以盡快將資源釋放出來服務(wù)其他客戶端。

但是,隨著時間的推移,網(wǎng)頁變得越來越復(fù)雜,里面可能嵌入了很多圖片,這時候每次訪問圖片都需要建立一次 TCP 連接就顯得很低效。后來,Keep-Alive 被提出用來解決這效率低的問題。

Keep-Alive 功能使客戶端到服務(wù)器端的連接持續(xù)有效,當(dāng)出現(xiàn)對服務(wù)器的后繼請求時,Keep-Alive
功能避免了建立或者重新建立連接。市場上的大部分 Web 服務(wù)器,包括 iPlanet、IIS 和 Apache,都支持 HTTP
Keep-Alive。對于提供靜態(tài)內(nèi)容的網(wǎng)站來說,這個功能通常很有用。但是,對于負(fù)擔(dān)較重的網(wǎng)站來說,這里存在另外一個問題:雖然為客戶保留打開的連接有一定的好處,但它同樣影響了性能,因為在處理暫停期間,本來可以釋放的資源仍舊被占用。當(dāng)Web服務(wù)器和應(yīng)用服務(wù)器在同一臺機(jī)器上運行時,Keep-Alive
功能對資源利用的影響尤其突出。

這樣一來,客戶端和服務(wù)器之間的 HTTP 連接就會被保持,不會斷開(超過 Keep-Alive
規(guī)定的時間,意外斷電等情況除外),當(dāng)客戶端發(fā)送另外一個請求時,就使用這條已經(jīng)建立的連接。

2、無狀態(tài)
無狀態(tài)是指協(xié)議對于事務(wù)處理沒有記憶能力,服務(wù)器不知道客戶端是什么狀態(tài)。

即我們給服務(wù)器發(fā)送 HTTP 請求之后,服務(wù)器根據(jù)請求,會給我們發(fā)送數(shù)據(jù)過來,但是,發(fā)送完,不會記錄任何信息。

HTTP 是一個無狀態(tài)協(xié)議,這意味著每個請求都是獨立的,Keep-Alive 沒能改變這個結(jié)果。

缺少狀態(tài)意味著如果后續(xù)處理需要前面的信息,則它必須重傳,這樣可能導(dǎo)致每次連接傳送的數(shù)據(jù)量增大。另一方面,在服務(wù)器不需要先前信息時它的應(yīng)答就較快。

HTTP 協(xié)議這種特性有優(yōu)點也有缺點:

1、優(yōu)點在于解放了服務(wù)器,每一次請求“點到為止”不會造成不必要連接占用
2、缺點在于每次請求會傳輸大量重復(fù)的內(nèi)容信息。

客戶端與服務(wù)器進(jìn)行動態(tài)交互的 Web 應(yīng)用程序出現(xiàn)之后,HTTP 無狀態(tài)的特性嚴(yán)重阻礙了這些應(yīng)用程序的實現(xiàn),畢竟交互是需要承前啟后的,簡單的購物車程序也要知道用戶到底在之前選擇了什么商品。

于是,兩種用于保持 HTTP 連接狀態(tài)的技術(shù)就應(yīng)運而生了,一個是 Cookie,而另一個則是 Session。

3、Cookie和 Session

1、Cookie:
Cookie可以保持登錄信息到用戶下次與服務(wù)器的會話,換句話說,下次訪問同一網(wǎng)站時,用戶會發(fā)現(xiàn)不必輸入用戶名和密碼就已經(jīng)登錄了(當(dāng)然,不排除用戶手工刪除Cookie)。而還有一些Cookie在用戶退出會話的時候就被刪除了,這樣可以有效保護(hù)個人隱私。

Cookies 最典型的應(yīng)用是判定注冊用戶是否已經(jīng)登錄網(wǎng)站,用戶可能會得到提示,是否在下一次進(jìn)入此網(wǎng)站時保留用戶信息以便簡化登錄手續(xù),這些都是 Cookies 的功用。
另一個重要應(yīng)用場合是“購物車”之類處理。用戶可能會在一段時間內(nèi)在同一家網(wǎng)站的不同頁面中選擇不同的商品,這些信息都會寫入 Cookies,以便在最后付款時提取信息。

2、 Session:

它是通過服務(wù)器來保持狀態(tài)的。

當(dāng)客戶端訪問服務(wù)器時,服務(wù)器根據(jù)需求設(shè)置 Session,將會話信息保存在服務(wù)器上,同時將標(biāo)示 Session 的 SessionId 傳遞給客戶端瀏覽器,瀏覽器將這個 SessionId 保存在內(nèi)存中,我們稱之為無過期時間的 Cookie。瀏覽器關(guān)閉后,這個 Cookie 就會被清掉,它不會存在于用戶的 Cookie 臨時文件。

以后瀏覽器每次請求都會額外加上這個參數(shù)值,服務(wù)器會根據(jù)這個 SessionId,就能取得客戶端的數(shù)據(jù)信息。

如果客戶端瀏覽器意外關(guān)閉,服務(wù)器保存的 Session 數(shù)據(jù)不是立即釋放,此時數(shù)據(jù)還會存在,只要我們知道那個 SessionId,就可以繼續(xù)通過請求獲得此 Session 的信息,因為此時后臺的 Session 還存在,當(dāng)然我們可以設(shè)置一個 Session 超時時間,一旦超過規(guī)定時間沒有客戶端請求時,服務(wù)器就會清除對應(yīng) SessionId 的 Session 信息。

1.2、https

HTTPS:是以安全為目標(biāo)的HTTP通道,簡單講是HTTP的安全版,即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。

那么https協(xié)議是怎么用SSL加密的呢?
其實SSL也是一種協(xié)議,SSL/TLS 在 TCP 之上加了一層加密等處理,不影響原有的 TCP 和 HTTP,上下都是透明的,用來實現(xiàn)安全傳輸。
其過程如圖所示:
在這里插入圖片描述

SSL/TLS 概述

1、主要功能:

  • 防冒充(pretending): 驗證交互雙方(通常只是對服務(wù)端)身份的真實性; 防竊聽(eavesdropping):
  • 對傳輸?shù)臄?shù)據(jù)進(jìn)行加密,即使被截獲也無法被識別; 防篡改(tampering):
  • 確保接收方收到的數(shù)據(jù)是原始未篡改過的,若被篡改能識別出來并丟棄;

2、SSL/TLS 交互過程(加密過程):
這里有個重要依據(jù)是RSA公鑰加密算法:

  • 對于數(shù)據(jù)交換雙方,都擁有自身的公鑰和私鑰,私鑰都為自己私藏,公鑰都向?qū)Ψ焦_;
  • 同樣一個數(shù)據(jù),發(fā)送方使用自身的私鑰加密,接收方收到后可以用發(fā)送方的公鑰解密。

在連接的時候,會有以下操作:

  1. 服務(wù)端:向客戶端發(fā)送服務(wù)端證書(證書中包含服務(wù)端公鑰),并向客戶端索要客戶端證書;
  2. 客戶端:收到服務(wù)端證書后,驗證其身份有效性(可信機(jī)構(gòu)頒發(fā)、域名一致、未過期等),如驗證失敗則握手失敗,如成功則從中取出服務(wù)端公鑰;
  3. 客戶端:向服務(wù)端發(fā)送客戶端證書(證書中包含客戶端公鑰);
  4. 服務(wù)端:收到客戶端證書后,驗證其身份真實性,如驗證失敗則握手失敗。

2、http和https的區(qū)別

由上圖我們可以知道,http和https最顯而易見的區(qū)別,就是一個安全一個不安全。

那么為什么他們會有這樣的區(qū)別呢?
答:HTTP協(xié)議傳輸?shù)臄?shù)據(jù)都是未加密的,也就是明文的,因此使用HTTP協(xié)議傳輸隱私
信息非常不安全,為了保證這些隱私數(shù)據(jù)能加密傳輸,于是網(wǎng)景公司設(shè)計SSL(Secure 
Sockets Layer)協(xié)議用于對HTTP協(xié)議傳輸?shù)臄?shù)據(jù)進(jìn)行加密,從而就誕生了HTTPS。簡
單來說,HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)
議,要比http協(xié)議安全。

HTTPS和HTTP的區(qū)別主要如下:

1、https協(xié)議需要到ca申請證書,一般免費證書較少,因而需要一定費用。

2、http是超文本傳輸協(xié)議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協(xié)議。

3、http和https使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443。

4、http的連接很簡單,是無狀態(tài)的;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,比http協(xié)議安全。

3、https的優(yōu)缺點

3.1、https協(xié)議的優(yōu)點

其實,HTTPS也并非絕對安全。掌握根證書的機(jī)構(gòu)、掌握加密算法的組織同樣可以進(jìn)行中間人形式的攻擊,但HTTPS仍是現(xiàn)行架構(gòu)下最安全的解決方案,主要有以下幾個好處:

(1)使用HTTPS協(xié)議可認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;

(2)HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議,要比http協(xié)議安全,可防止數(shù)據(jù)在傳輸過程中不被竊取、改變,確保數(shù)據(jù)的完整性。

(3)HTTPS是現(xiàn)行架構(gòu)下最安全的解決方案,雖然不是絕對安全,但它大幅增加了中間人攻擊的成本。

(4)谷歌曾在2014年8月份調(diào)整搜索引擎算法,并稱“比起同等HTTP網(wǎng)站,采用HTTPS加密的網(wǎng)站在搜索結(jié)果中的排名將會更高”。

3.2、https的缺點

雖然說HTTPS有很大的優(yōu)勢,但其相對來說,還是存在不足之處的:

(1)HTTPS協(xié)議握手階段比較費時,會使頁面的加載時間延長近50%,增加10%到20%的耗電;

(2)HTTPS連接緩存不如HTTP高效,會增加數(shù)據(jù)開銷和功耗,甚至已有的安全措施也會因此而受到影響;

(3)SSL證書需要錢,功能越強(qiáng)大的證書費用越高,個人網(wǎng)站、小網(wǎng)站沒有必要一般不會用。

(4)SSL證書通常需要綁定IP,不能在同一IP上綁定多個域名,IPv4資源不可能支撐這個消耗。

(5)HTTPS協(xié)議的加密范圍也比較有限,在黑客攻擊、拒絕服務(wù)攻擊、服務(wù)器劫持等方面幾乎起不到什么作用。最關(guān)鍵的,SSL證書的信用鏈體系并不安全,特別是在某些國家可以控制CA根證書的情況下,中間人攻擊一樣可行。

http://www.risenshineclean.com/news/45929.html

相關(guān)文章:

  • 鄭州網(wǎng)站高端設(shè)計百度網(wǎng)站打不開
  • 動態(tài)網(wǎng)站開發(fā)教案xp優(yōu)化大師
  • 網(wǎng)站建設(shè)付款方式河南百度seo
  • 百度推廣網(wǎng)站怎么做網(wǎng)站策劃方案案例
  • asp網(wǎng)站建設(shè)下載青島百度推廣seo價格
  • 必應(yīng)網(wǎng)站收錄在哪seo推廣顧問
  • 做網(wǎng)站用模板百度競價廣告怎么投放
  • 做移動互聯(lián)網(wǎng)站點哪些店鋪適合交換友情鏈接
  • 網(wǎng)站專題模板下載上海優(yōu)化網(wǎng)站公司哪家好
  • 建網(wǎng)站怎么做報分系統(tǒng)網(wǎng)絡(luò)推廣公司有多少家
  • 怎樣做校園網(wǎng)站推廣手游推廣渠道和推廣方式
  • 海南省人民政府網(wǎng)站官網(wǎng)寧波百度快照優(yōu)化排名
  • 17素材網(wǎng)官網(wǎng)蘇州seo
  • 公安局網(wǎng)站建設(shè)營銷策略
  • 社交網(wǎng)站建設(shè)教程愛網(wǎng)
  • 南陽專業(yè)做網(wǎng)站公司seo技術(shù)培訓(xùn)茂名
  • 做網(wǎng)站老師全自動引流推廣軟件下載
  • 如何在公司服務(wù)器建個內(nèi)部 網(wǎng)站網(wǎng)站結(jié)構(gòu)
  • seopc流量排名網(wǎng)站百度詞條優(yōu)化工作
  • 河南省住房和城鄉(xiāng)建設(shè)廳官方網(wǎng)站海外廣告優(yōu)化師
  • 西安未央?yún)^(qū)網(wǎng)站建設(shè)百度優(yōu)化是什么意思
  • 廢品回收在哪個網(wǎng)站做效果好app推廣工作是做什么的
  • 手機(jī)網(wǎng)站開發(fā)工具6培訓(xùn)學(xué)校
  • 培訓(xùn)方案網(wǎng)站建設(shè)山東建站
  • 山西省網(wǎng)站備案寧波seo服務(wù)快速推廣
  • 免費 網(wǎng)站 如何做關(guān)鍵詞seo優(yōu)化軟件
  • logo設(shè)計說明東莞網(wǎng)站優(yōu)化
  • 橙子建站免費注冊公司推廣網(wǎng)站的方法
  • 哪些網(wǎng)站容易收錄阿里巴巴國際站關(guān)鍵詞推廣
  • 網(wǎng)站收錄查詢主要由哪幾個網(wǎng)站百度推廣非企代理