http基礎(chǔ)

前言

今天調(diào)試的時(shí)候用到了curl,所以這周就簡(jiǎn)單介紹一下curl的用法。
curl一般用來發(fā)送http請(qǐng)求,進(jìn)行web調(diào)試,但是它還有更強(qiáng)大的功能。

  • --silent
    curl默認(rèn)是將下載文件輸出到stdout,將進(jìn)度信息輸出到stderr。使用--silent可以不顯示進(jìn)度信息。

  • 將下載內(nèi)容寫入文件
    使用-O可以將下載的數(shù)據(jù)寫入到文件
    -o:將文件保存為命令行中指定的文件名的文件中
    -O:使用URL中默認(rèn)的文件名保存文件到本地

  • 斷點(diǎn)續(xù)傳
    使用-C可以指定本次下載的偏移量,即只下載某個(gè)點(diǎn)之后的數(shù)據(jù),其中偏移量是以字節(jié)為單位的整數(shù)。如果想讓curl自動(dòng)推斷出正確的續(xù)傳位置,可以使用-C -

  • 打印包頭
    通過-I或者-head可以只打印出HTTP頭部信息

  • 設(shè)置cookie
    使用--cookie或者-b "cookie;"/filename 選項(xiàng)來指定cookie,多個(gè)cookie使用分號(hào)分隔

  • 存儲(chǔ)cookie
    使用--cookie-jar可以將cookie保存到一個(gè)文件中

  • 網(wǎng)絡(luò)限速
    使用--limit-rate限制curl的下載速度,其中使用k和m作為單位

  • 顯示詳細(xì)信息
    使用-v或者--trace可以獲得更多連接的信息

  • 設(shè)置頭部信息
    使用-H "string"來設(shè)置http頭的信息,可以使用多次

  • 設(shè)置請(qǐng)求方式
    使用-X指定請(qǐng)求方式,常用的有POST,GET

  • 發(fā)送數(shù)據(jù)
    -d "str=a&name=b",發(fā)送的數(shù)據(jù)中都是鍵值對(duì)的形式,key=value,多個(gè)鍵值對(duì)用&連接

  • HTTP代理
    代理其實(shí)就是一種介于客戶端和服務(wù)器之間的橋梁,它可以是客戶端,也可以是服務(wù)器。

    • 代理的作用
      1. 翻墻
        對(duì)于直接訪問不了的資源,可以使用代理服務(wù)器,通過訪問代理服務(wù)器間接訪問資源服務(wù)器。從而不受限制影響。
      2. 匿名訪問
        通過設(shè)置代理服務(wù)器,將自己的請(qǐng)求都集中到代理服務(wù)器,再在代理服務(wù)器上對(duì)包的結(jié)構(gòu)更改,隱藏一些身份或者位置信息。
      3. 代理緩存
        代理服務(wù)器可以緩存資源服務(wù)器上的資源,從而減輕資源服務(wù)器的壓力,提高瀏覽的速度。
      4. 隱藏真實(shí)服務(wù)器
        為了保護(hù)真實(shí)的服務(wù)器信息不被泄露,通過設(shè)置代理服務(wù)器轉(zhuǎn)發(fā)請(qǐng)求進(jìn)行訪問。這樣對(duì)外暴露的就只有代理服務(wù)器,而保護(hù)了真實(shí)的資源服務(wù)器的信息。
    • 代理方式
    1. 正向代理
      正向代理就是通過在客戶端設(shè)置,更改頭部信息等方式來指定使用的代理,也就是主動(dòng)的選擇代理。
    2. 反向代理
      反向代理是指請(qǐng)求發(fā)起的時(shí)候,訪問的就是代理服務(wù)器,通過代理服務(wù)器的轉(zhuǎn)發(fā)來實(shí)現(xiàn)資源的訪問。nginx就是一種最常見的反向代理服務(wù)器。
  • HTTP協(xié)議
    HTTP協(xié)議即超文本傳輸協(xié)議,它是一種通信協(xié)議,允許將超文本標(biāo)記語言(HTML)文檔從Web服務(wù)器傳送到客戶端的瀏覽器

    • 打開一個(gè)網(wǎng)頁可能需要發(fā)送多次請(qǐng)求
      打開一個(gè)網(wǎng)頁,首先就是發(fā)送當(dāng)前的請(qǐng)求,然后得到返回的信息。在分析這些信息的時(shí)候,可能當(dāng)前頁面涉及到其他的一些信息,這時(shí)候?yàn)g覽器會(huì)再去請(qǐng)求這些信息,直到拿到所有需要的資源。
    • 狀態(tài)碼
      1XX 提示信息 - 表示請(qǐng)求已被成功接收,繼續(xù)處理
      2XX 成功 - 表示請(qǐng)求已被成功接收,理解,接受
      3XX 重定向 - 要完成請(qǐng)求必須進(jìn)行更進(jìn)一步的處理
      4XX 客戶端錯(cuò)誤 - 請(qǐng)求有語法錯(cuò)誤或請(qǐng)求無法實(shí)現(xiàn)
      5XX 服務(wù)器端錯(cuò)誤 - 服務(wù)器未能實(shí)現(xiàn)合法的請(qǐng)求
    • cookie
      cookie其實(shí)就是緩存在用戶本地的一個(gè)文件,其中包括少量用戶的信息,用來簡(jiǎn)化用戶的操作,以及方便用戶的使用。
      如果cookie中保存了用戶的登錄信息,一旦這個(gè)cookie被其他人截取獲得,那么那個(gè)人就可以使用這個(gè)cookie冒充用戶登錄對(duì)應(yīng)的網(wǎng)站。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評(píng)論 19 139
  • 前言 本系列主要分析OKHttp源代碼的框架和設(shè)計(jì)思想,因?yàn)镺KHttp實(shí)現(xiàn)了HTTP協(xié)議,所以在做源代碼分析之前...
    嘎啦果安卓獸閱讀 4,288評(píng)論 1 15
  • 學(xué)習(xí)資料: 《圖解Http》 正在學(xué)習(xí)了解OkHttp的知識(shí),遇到了關(guān)于http的知識(shí)點(diǎn)時(shí),都不知所云。百度到的東...
    英勇青銅5閱讀 3,804評(píng)論 7 12
  • 1.Http是什么? 通俗來講,他就是計(jì)算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信的規(guī)則,是一個(gè)基于請(qǐng)求與響應(yīng),無狀態(tài)的,應(yīng)用層的協(xié)議,...
    Mx勇閱讀 293評(píng)論 0 2
  • 【原文】知止而后有定,定而后能靜,靜而后能安,安而后能慮,慮而后能得。 [張居正講解]這一節(jié)是承上文明明德、新民所...
    田春馨閱讀 805評(píng)論 0 3

友情鏈接更多精彩內(nèi)容