今天博主有一個網(wǎng)絡開發(fā)的需求,遇到了一些困難點,在此和大家分享,希望能夠共同進步.
今天和大家分享一下http和socket的區(qū)別,具體的各種網(wǎng)絡協(xié)議,請各位看官自行百度
1.http連接:http連接就是所謂的短連接,即客戶端向服務器端發(fā)送一次請求,服務器端響應后連接即會斷掉
簡單說,你瀏覽的網(wǎng)頁(網(wǎng)址以http://開頭)都是http協(xié)議傳輸?shù)侥愕臑g覽器的, 而http是基于socket之上的。socket是一套完成tcp,udp協(xié)議的接口。
HTTP協(xié)議:簡單對象訪問協(xié)議,對應于應用層 ,HTTP協(xié)議是基于TCP連接的
tcp協(xié)議: 對應于傳輸層
ip協(xié)議: 對應于網(wǎng)絡層
TCP/IP是傳輸層協(xié)議,主要解決數(shù)據(jù)如何在網(wǎng)絡中傳輸;而HTTP是應用層協(xié)議,主要解決如何包裝數(shù)據(jù)。
Socket是對TCP/IP協(xié)議的封裝,Socket本身并不是協(xié)議,而是一個調(diào)用接口(API),通過Socket,我們才能使用TCP/IP協(xié)議
2.socket連接:socket連接就是所謂的長連接,理論上客戶端和服務器端一旦建立起連接將不會主動斷掉;但是由于各種環(huán)境因素可能會是連接斷開,比如說:服務器端或客戶端主機down了,網(wǎng)絡故障,或者兩者之間長時間沒有數(shù)據(jù)傳輸,網(wǎng)絡防火墻可能會斷開該連接以釋放網(wǎng)絡資源。所以當一個socket連接中沒有數(shù)據(jù)的傳輸,那么為了維持連接需要發(fā)送心跳消息~~具體心跳消息格式是開發(fā)者自己定義的
我們已經(jīng)知道網(wǎng)絡中的進程是通過socket來通信的,那什么是socket呢?socket起源于Unix,而Unix/linux基本哲學之一就是“一切皆文件”,都可以用“打開open –> 讀寫write/read –> 關(guān)閉close”模式來操作。我的理解就是Socket就是該模式的一個實現(xiàn),socket即是一種特殊的文件。
3.一些socket函數(shù)就是對其進行的操作(讀/寫IO、打開、關(guān)閉),我們在傳輸數(shù)據(jù)時,可以只使用(傳輸層)TCP/IP協(xié)議,但是那樣的話,如果沒有應用層,便無法識別數(shù)據(jù)內(nèi)容,如果想要使傳輸?shù)臄?shù)據(jù)有意義,則必須使用到應用層協(xié)議,應用層協(xié)議有很多,比如HTTP、FTP、TELNET等,也可以自己定義應用層協(xié)議。WEB使用HTTP協(xié)議作應用層協(xié)議,以封裝HTTP文本信息,然后使用TCP/IP做傳輸層協(xié)議將它發(fā)到網(wǎng)絡上。
1)Socket是一個針對TCP和UDP編程的接口,你可以借助它建立TCP連接等等。而TCP和UDP協(xié)議屬于傳輸層。
而http是個應用層的協(xié)議,它實際上也建立在TCP協(xié)議之上。
(HTTP是轎車,提供了封裝或者顯示數(shù)據(jù)的具體形式;Socket是發(fā)動機,提供了網(wǎng)絡通信的能力。)
2)Socket是對TCP/IP協(xié)議的封裝,Socket本身并不是協(xié)議,而是一個調(diào)用接口(API),通過Socket,我們才能使用TCP/IP協(xié)議。Socket的出現(xiàn)只是使得程序員更方便地使用TCP/IP協(xié)議棧而已,是對TCP/IP協(xié)議的抽象,從而形成了我們知道的一些最基本的函數(shù)接口。
http://blog.csdn.net/yibaozhifu/article/details/48000427?plg_nld=1&plg_uin=1&plg_auth=1&plg_nld=1&plg_usr=1&plg_vkey=1&plg_dev=1
http://blog.csdn.net/it_ds/article/details/46912219?plg_nld=1&plg_nld=1&plg_uin=1&plg_nld=1&plg_auth=1&plg_usr=1&plg_vkey=1&plg_dev=1&plg_auth=1&plg_nld=1&plg_dev=1&plg_uin=1&plg_usr=1&plg_vkey=1&plg_nld=1&plg_uin=1&plg_nld=1&plg_auth=1&plg_usr=1&plg_vkey=1&plg_dev=1
|
新聞熱點
疑難解答