色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Http是什么

汽車電子技術 ? 來源:程序猿知秋 ? 作者:程序猿知秋 ? 2023-01-20 15:27 ? 次閱讀

Http是什么?

基本概念

  • **HTTP是超文本傳輸協議(HyperText Transfer Protocol)的簡稱,它建立在C/S架構的應用層協議。

    **

  • **HTTP、FTP、Telnet等協議都是建立在TCP/IP協議基礎上的,而TCP/IP協議是協議層的內容,它定義了計算機間通信的基礎協議。

    **

  • **在HTTP協議中,客戶端負責發起一個Request,該Request中含有請求方法、URL、協議版本等信息,服務端在接受到該Request后會返回一個Response,該Response中含有狀態碼、響應內容等信息,這一模型稱為請求/響應模型。

    **

  • HTTP協議通信的核心是HTTP報文,我們將其分為請求報文和響應報文。其中,由客戶端發出的HTTP報文稱為請求報文,由服務端發出的報文稱為響應報文.

請求報文:請求報文通常由瀏覽器來發起,當我們訪問一個網頁或者請求一個資源的時候都會產生請求報文

  • 請求報文通常由HTTP請求行、請求頭、消息體(可選)三部分組成
// 基本請求信息
Request URL: https://www.baidu.com 
Request Method: GET      
Status Code: 200 OK    
Remote Address: 111.206.209.78:443
Referrer Policy: unsafe-url


//請求頭
Accept: application/json, text/javascript, q=0.01
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cache-Control: no-cache
Connection: keep-alive
Cookie: BIDUPSID=344D077FD6A3F97616DBD66A24EBDC96
Host: zhidao.baidu.com
Pragma: no-cache
Referer: https://zhidao.baidu.com/question/366757430246244692.html
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
X-ik-ssl: 1
X-Requested-With: XMLHttpRequest


//請求參數
...

請求參數解析

  • **Host: 請求目標的網站

    **

  • **Connection: 默認為“keep-Alive“,默認支持長連接

    **

  • **Cache-Control:這玩意跟緩存有關,其中no-cache表示無緩存

    **

  • **User-Agent:告訴serve 這個client的身份,一般由瀏覽器決定,比如:瀏覽器類型,版本等等

    **

  • **Accept:以及后面的Accept打頭的都是表明client能夠接收的種類和類型

    **

  • Cookie:一般會將登錄的一些信息放在cookie中

響應報文:響應報文是指在服務端接收并處理了客戶端的請求信息以后,服務端發送給客戶端的HTTP報文

// 響應狀態 ,200 表示成功
HTTP/1.1 200 OK


/* 響應頭部 */
Access-Control-Allow-Headers: X-ik-ssl,X-ik-token,X-ik-utdata,X-ik-appid,X-ik-cuid,X-ik-fc,X-swan-version,X-ik-tries,X-fail,X-ik-appversion,X-ik-appname,Content-Type,SWAN_UPGRADE_CHECK
Connection: keep-alive
Content-Encoding: gzip
Content-Length: 21
Content-Type: text/html
Date: Fri, 23 Dec 2022 11:49:43 GMT
Not-Try: 0
Server: Apache
Vary: Accept-Encoding
Wait: 2


/* 響應信息 */
...

響應參數解析

  • **Http/1.1 200 OK:200表示返回的狀態碼是正常,OK則是描述性的狀態碼

    **

  • **Date:表示服務器響應的時間

    **

  • **Server: 響應客戶端的服務器。

    **

  • **Content-Length:表示服務器返回給客戶端正文的字節流長度

    **

  • **Content-Type:表示正文的類型

    **

  • Content-Encoding:文檔類型的編碼方式,服務器端采用gzip的形式進行了文檔壓縮

Http的基本應用

常見的方法有GET、POST 兩種http請求方式

  • **GET:最為常見的一種請示方式。當客戶端從服務器讀取文檔或者通過一個鏈接來訪問頁面的時候,都是采用GET方式來請求的

    **

  • **POST:POST克服了GET方式對參數長度存在限制的缺點,以鍵-值形式將參數封裝在HTTP請求中,所以從理論上講它對參數長度沒有限制,但是實際上各個服務器會規定對POST提交數據大小進行限制;

    **

  • 注: POST的安全性比GET的高,因對用戶來講參數傳遞過程是不可見的。 類似用戶登錄之類的基本都是采用post形式

HTTP中的五種響應碼

  • 1xx:指示信息--表示請求已接收,繼續處理
  • 2xx:成功--表示請求已被成功接收、理解、接受
  • 3xx:重定向--要完成請求必須進行更進一步的操作
  • 4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
  • 5xx:服務器端錯誤--服務器未能實現合法的請求

!微信截圖_20230105161930.png

編輯

HttpWebRequest 簡單的HTTP請求案例

GET方式:

public static string doGet()
{
    string url="www.baidu.com";
  //創建
  HttpWebRequest httpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
  //設置請求方法
  httpWebRequest.Method = "GET";
  //請求超時時間
  httpWebRequest.Timeout = 30000;
  //發送請求
  HttpWebResponse response=null;
  Stream s = null;
  StreamReader sRead = null;
  string postContent = null;
  try
  {
    //獲得響應流
    response = (HttpWebResponse)httpWebRequest.GetResponse();
    s = response.GetResponseStream();
    sRead = new StreamReader(s);
    postContent = sRead.ReadToEnd();
  }
  catch (WebException ex)
  {
    response = ex.Response as HttpWebResponse;
    log.Error(ex.Message.ToString(), ex);
  }
  finally
  {
    if(sRead != null)
    {
      sRead.Close(); 
    }
    if(s != null)
    {
      s.Close();
    }
    if(response != null)
    {
      response.Close();
    }
  }
  return postContent;//返回Json數據
}

POST方式:

public static string doPost()
{
  string strURL = "wwww.baidu.com";
  //創建一個HTTP請求  
  HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strURL);
  //Post請求方式  
  request.Method = "POST";
  //內容類型
  request.ContentType = "application/json";
  request.Accept = "application/json";
  //將Json字符串轉化為字節  
  byte[] payload = System.Text.Encoding.UTF8.GetBytes(jsonParas);
  //設置請求的ContentLength   
  request.ContentLength = payload.Length;
  //發送請求,獲得請求流 
  Stream writer;
  try
  {
    writer = request.GetRequestStream();//獲取用于寫入請求數據的Stream對象
  }
  catch (Exception ex)
  {
    log.Error("連接服務器失敗!" + ex.Message.ToString(), ex);
    throw ex;
  }
  //將請求參數寫入流
  writer.Write(payload, 0, payload.Length);
  writer.Close();//關閉請求流
  HttpWebResponse response = null;
  Stream s = null;
  StreamReader sRead = null;
  string postContent = null;
  try
  {
    //獲得響應流
    response = (HttpWebResponse)request.GetResponse();
    s = response.GetResponseStream();
    sRead = new StreamReader(s);
    postContent = sRead.ReadToEnd();
  }
  catch (WebException ex)
  {
    response = ex.Response as HttpWebResponse;
    log.Error(ex.Message.ToString(), ex);
  }
  finally
  {
    if (sRead != null)
    {
      sRead.Close();
    }
    if (s != null)
    {
      s.Close();
    }
    if (response != null)
    {
      response.Close();
    }
  }
  return postContent;//返回Json數據
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • HTTP
    +關注

    關注

    0

    文章

    513

    瀏覽量

    31845
  • 傳輸協議
    +關注

    關注

    0

    文章

    79

    瀏覽量

    11544
  • 架構
    +關注

    關注

    1

    文章

    523

    瀏覽量

    25649
收藏 人收藏

    評論

    相關推薦

    33.033 HTTP協議 初識HTTP協議

    編程HTTP
    充八萬
    發布于 :2023年07月19日 14:28:59

    使用http代理究竟什么原因?

    HTTP
    jf_62215197
    發布于 :2024年05月13日 07:42:55

    講解HTTP代理類別,使用設置,測試HTTP代理方法

    HTTP
    jf_62215197
    發布于 :2024年07月19日 07:03:46

    HTTP性能

    HTTP性能              HTTP協議(Hypertext Transfer Protocol,超文本傳輸協議)是用于從WWW服務器傳輸超文本到本地瀏
    發表于 01-08 13:50 ?924次閱讀

    什么是HTTP

    什么是HTTP  英文原義:Hyper Text Transfer Protocol 中文釋義:超文本傳輸協議 注  解:該
    發表于 02-23 11:40 ?689次閱讀

    HTTP,HTTP協議的作用是什么?

    HTTP,HTTP協議的作用是什么? HTTP:Hypertext Transfer Protocol 超文本傳輸協議(HTTP)是應用層協議,由于其簡捷、快速的方式,適用于分
    發表于 03-22 10:45 ?2.5w次閱讀

    HTTP協議培訓教程資料

    HTTP協議培訓教程資料 協議基礎  HTTP(HyperText Transfer Protocol)是超文本傳輸協議的縮寫,它用于傳送WWW方式的數據,關于HTTP協議
    發表于 03-22 10:47 ?605次閱讀

    http抓包神器(http analyzer )下載

    HTTP Analyzer Full V7是一款完全漢化免費的綠色版HTTP協議捕捉分析工具,這款http analyzer 綠色版可以進行網絡抓包等功能,馬上下載這款http ana
    發表于 12-14 08:35 ?0次下載

    http和tcp/ip、http https之間的關系和區別

    http和tcp/ip、http和https之間的關系和區別
    的頭像 發表于 01-10 14:30 ?7656次閱讀

    http和https有什么區別,為什么https會取代http

    大家都知道當前https的使用更為普遍,為什么https會取代http,其中的原因恒訊科技為大家整理在本文,共有11點希望可以幫助大家更了解網站數據安全。 1、傳輸方式 http使用的是明文
    的頭像 發表于 05-11 16:02 ?2263次閱讀

    HTTP的狀態消息

     HTTP狀態消息是指HTTP服務器在響應客戶端請求時返回的狀態信息。狀態消息由數字狀態碼和可選的文本描述組成,主要有以下幾種類型
    發表于 05-06 16:01 ?558次閱讀

    HTTP/3 來了,它比 HTTP/1 和 HTTP/2 強在哪兒?

    前言通過這篇文章你可以了解到:1.什么是HTTP協議?2.HTTP1.1/2.0/3.0的發展變更3.HTTP1.1/2.0/3.0的主要區別4.HTTP3.0進化發展的意義什么是
    的頭像 發表于 08-28 15:35 ?1646次閱讀
    <b class='flag-5'>HTTP</b>/3 來了,它比 <b class='flag-5'>HTTP</b>/1 和 <b class='flag-5'>HTTP</b>/2 強在哪兒?

    什么是HTTP?什么是HTTPS?HTTP與HTTPS的區別在哪?

    每天都在上網,在搜索東西的時候,你有發現網址有什么不同嗎?本文就來談談HTTP與HTTPS有什么不同。
    的頭像 發表于 08-27 09:15 ?4933次閱讀
    什么是<b class='flag-5'>HTTP</b>?什么是HTTPS?<b class='flag-5'>HTTP</b>與HTTPS的區別在哪?

    HTTP 1.1 和 HTTP 2.0 的區別

    HTTP(超文本傳輸協議)是互聯網上應用最為廣泛的協議之一,用于在客戶端和服務器之間傳輸數據。隨著技術的發展,HTTP協議也在不斷地更新和優化。HTTP/1.1是1999年發布的,而HTTP
    的頭像 發表于 12-30 09:25 ?494次閱讀
    主站蜘蛛池模板: 岛国在线永久免费视频 | 国产女人91精品嗷嗷嗷嗷 | 欧美18videosex性欧美老师 | 中文字幕爆乳JULIA女教师 | 动漫女主被扒开双腿羞辱 | 拉菲娱乐主管高工资q39709 | 国产精品久久久久久亚洲毛片 | 国产精彩视频在线 | 免费国产足恋网站 | 狠狠色欧美亚洲狠狠色www | xxxjapanese丰满奶水| 国产精品青青在线麻豆 | 青青在线视版在线播放 | 久久精品国产亚洲AV天美18 | 果冻传媒在线观看资源七夕 | 亚洲你我色| A级韩国乱理伦片在线观看 a级成人免费毛片完整版 | 日本精品久久久久中文字幕 1 | CHESENGAY痞帅警察GV | 国产高清国内精品福利色噜噜 | 国产毛A片久久久久久无码 国产毛A片啊久久久久久A | 特级毛片全部免费播放免下载 | 国产成人综合视频 | 日产国产欧美韩国在线 | 67194在线入口免费 | 体内精69xxxxxx喷潮 | 99热这里只就有精品22 | 玖玖爱在线播放 | 久久才是精品亚洲国产 | 日本三区四区免费高清不卡 | 亚洲熟少妇在线播放999 | 岛国在线永久免费视频 | 亚洲AV无码一区二区三区牛牛 | 999视频在线观看 | 欧美日韩无套内射另类 | av先锋影音资源男人站 | 国产精品福利片 | 久久亚洲网站 | 欧美乱妇日本无乱码特黄大片 | 国产一区二区高清 | 久久中文字幕免费高清 |