日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于HTTP协议及SOCKET通信

發布時間:2024/1/17 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于HTTP协议及SOCKET通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.HTTP

  1.報文結構

  HTTP:超文本傳輸協議,報文分為請求報文和響應報文。

  2.端口(tomcat端口)

  http在熟知的80端口使用TCP的服務;tomcat的默認端口是8080

  3.狀態碼含義

  

  5.get和post方法

  get是最簡單的一種請求,其主要功能是從服務器端獲取用戶所需資源,并將其作為響應返回給客戶端,這些資源可以是html頁面,圖片,文檔等內容中的任何一種,但需要注意的是,get方法主要用來獲取服務器端資源信息,就如同數據庫中查詢操作一樣,不會影響到自身的狀態,刪除,修改,新增資源都是不允許的。但post不僅能夠從服務器端獲取資源,還可以想服務器端上傳資源。采用get方法上傳文件,數據量非常小,而且URL跟數據之間是采用“?”連接的,不安全。POST方法向服務器提交的內容在URL中并沒有明文顯示,對用戶是不可見的。所以安全性高。

  6.http head的各個特點和區別

  7.http request的幾種類型

  8.http1.1和http1.0的區別

  HTTP 1.0規定瀏覽器與服務器只保持短暫的連接,瀏覽器的每次請求都需要與服務器建立一個TCP連接,服務器完成請求處理后立即斷開TCP連接,服務器不跟蹤每個客戶也不記錄過去的請求。HTTP 1.1支持持久連接,在一個TCP連接上可以傳送多個HTTP請求和響應,減少了建立和關閉連接的消耗和延遲。HTTP 1.1還允許客戶端不用等待上一次請求結果返回,就可以發出下一次請求,但服務器端必須按照接收到客戶端請求的先后順序依次回送響應結果,以保證客戶端能夠區分出每次請求的響應內容,這樣也顯著地減少了整個下載過程所需要的時間。HTTP 1.0不支持Host請求頭字段,HTTP 1.1中增加Host請求頭字段后,WEB瀏覽器可以使用主機頭名來明確表示要訪問服務器上的哪個WEB站點,這才實現了在一臺WEB服務器上可以在同一個IP地址和端口號上使用不同的主機名來創建多個虛擬WEB站點。HTTP 1.1還提供了與身份認證、狀態管理和Cache緩存等機制相關的請求頭和響應頭。

  9.?頁面請求的工作流程

  *1用戶通過瀏覽器輸入鏈接的地址來請求所需的資源,瀏覽器接受用戶的請求,并把該請求組裝成指定的格式發送給服務器端,客戶端與服務器端之間通過HTTP來完成具體的交互。其中請求的數據流中主要包含HTTP請求方法(get和post),請求的網址(URL,統一資源定位符)以及請求的一些參數。

  *2服務器收到客戶端發來的請求,并查找用戶所需要的資源。

  *3服務器查找到用戶請求的資源后,把該資源返回給客戶端

  *4服務器通過把響應消息組裝成特定的消息格式后返回給客戶端,這個過程通過HTTP來完成。響應的數據流主要包含狀態編碼(代表請求成功或者失敗),content-type(text,picture、html),響應消息的內容(圖片或者html格式的內容)

  *5瀏覽器對html進行解析,并把響應結果展現給客戶

  10.http怎么處理長連接(輪詢)

? ? ?http 長輪詢:

  http 長輪詢是服務器收到請求后如果有數據, 立刻響應請求; 如果沒有數據就會 hold 一段時間, 這段時間內如果有數據立刻響應請求; 如果時間到了還沒有數據, 則響應 http 請求;瀏覽器受到 http 響應后立在發送一個同樣 http 請求查詢是否有數據;

  http 長輪詢的局限:

  • 瀏覽器端對統一服務器同時 http 連接有最大限制, 最好同一用戶只存在一個長輪詢;
  • 服務器端沒有數據 hold 住連接時會造成浪費, 容易產生服務器瓶頸;
  •   http 短輪詢:

      http端輪詢是服務器收到請求不管是否有數據都直接響應 http 請求; 瀏覽器受到 http 響應隔一段時間在發送同樣的 http 請求查詢是否有數據;

      http 短輪詢的局限是實時性低;

      兩者相同點:
      可以看出 http 長輪詢和 http 短輪詢的都會 hold 一段時間;

      兩者不同點
      間隔發生在服務端還是瀏覽器端: http 長輪詢在服務端會 hold 一段時間, http 短輪詢在瀏覽器端 “hold” 一段時間;

      11.主流的web服務器有哪些

      apache,IBM websephertomcat,tomcat,微軟的IIS

    ?

    二.HTTPS(443端口)

      http+ssl(secure socket layout)

      更多https的加密解密:http://www.cnblogs.com/chyingp/p/https-introduction.html

      不能單獨用公私鑰加密,還得用CA簽名

    三.cookie和session

      cookie是客戶端保持狀態的一種方案,而session機制采用的是服務器端保持狀態的方案。cookie分發是通過擴展http協議來實現的,服務器通過在http的響應頭中加上一行特殊的指示以提示瀏覽器按照指示生成相應的cookie。 session機制的話,服務器使用一種類似于散列表的結構(可能就是散列表)來保存信息。當程序需要為某個客戶端的請求創建一個session時,服務器首先檢查這個客戶端的請求里是否已經包含了session的標識(session ID),如果已包含則說明以前已經為此客戶端創建過session,服務器就按照這個session ID檢索這個session,檢索不到,就會創建一個。

      總結:1.cookie數據存在在客戶的瀏覽器上,session的數據放在服務器上。2.cookie不是很安全,別人可以分析存放在本地的cookie并進行cookie欺騙,考慮到安全應當使用session。3.session會在一定時間內保存在服務器上。當訪問增多時,會比較占用你的服務器的性能,考慮到減輕服務器性能方面,應當使用cookie。4.單個cookie保存的數據不能超過4K,很多瀏覽器都限制一個站點最多保存200個cookie。5.綜上,登錄信息保存在session,其他的如需保留,放cookie里。

    四.socket通信

      1.socket通信的幾個關鍵函數

      socket(創建一個用于通信的套接字)

      closesocket(關閉套接字,套接字描述符是參數)

      bind(當創建一個SOCKET以后,套接字數據數據中有一個默認的IP地址和默認的端口)。一個服務程序必須調用bind函數來給其綁定一個IP地址和一個特定的端口號。

      listen(服務程序可以調用Listen函數使其套接字處于監聽狀態)

      accept(調用accept函數從處于監聽狀態的流套接字的客戶連接請求隊列中取出排在最前的一個客戶請求,并且創建一個新的套接字創建連接通道)

      connect(客戶程序調用connect函數來使客戶套接字描述符與name所指定的計算機的特定端口上的服務socket進行連接)

      send(客戶端用來發送請求, 服務器端用來發送應答)

      recv(客戶端服務器用來接收數據)

      2.http與socket的區別

      http:簡單對象訪問,對用于應用層,http協議是基于TCP連接的,http連接是短連接

      socket是對TCP/IP協議的封裝,本身并不是一個協議,而是一個調用接口,通過socket,才能使用TCP/IP協議;socket是長連接,理論上一旦連接建立起連接就不主動斷掉。

    五.DNS

      1.DNS劫持,怎么預防?

      DNS劫持又稱域名劫持,是指在劫持的網絡范圍內攔截域名解析的請求,分析請求的域名,把審查范圍以外的請求放行,否則返回假的IP地址或者什么都不做使請求失去響應,其效果就是對特定的網絡不能反應或訪問的是假網址。

      對付DNS劫持,只需要把系統的DNS設置手動切換為國外的DNS服務器的IP地址即可解決。

      2.DNS污染,怎么預防?

      DNS污染是指一些刻意制造或無意中制造出來的域名服務器分組,把域名指往不正確的IP地址。

      對于DNS污染,一般除了使用代理服務器和VPN之類的軟件之外,并沒有什么其它辦法。但是利用我們對DNS污染的了解,還是可以做到不用代理服務器和VPN之類的軟件就能解決DNS污染的問題,從而在不使用代理服務器或VPN的情況下訪問原本訪問不了的一些網站。當然這無法解決所有問題,當一些無法訪問的網站本身并不是由DNS污染問題導致的時候,還是需要使用代理服務器或VPN才能訪問的。

    ?

    轉載于:https://www.cnblogs.com/jose1125/p/5262297.html

    總結

    以上是生活随笔為你收集整理的关于HTTP协议及SOCKET通信的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。