#HTTP# http全面解析

http的發展歷史

  • http是什什麼? http://www.xxx.com
    • http協議(HyperText Transfer Protocol,超文本傳輸協議)是一種應用廣泛的網絡傳輸協議。
    • http是一個基於TCP/IP通訊協議來傳遞數據(HTML文件,圖片文件,查詢結果等)。
  • http工作原理理
    • http協議工作在客戶端-服務端之間
    • 主流的三個web服務器器:Apache、 Nginx 、IIS
    • http默認端口爲80
    • http協議通信流程
      在這裏插入圖片描述
  • 輸入url發生了了什什麼?
    • DNS解析
    • TCP連接
    • 發送http請求
    • 服務器器處理理請求
    • 瀏覽器器解析渲染頁面
    • 連接結束

http之請求方法和響應頭信息

  • http請求方法
    • GET 請求指定的頁面信息,並返回實體主體
    • HEAD 類似於get請求,只不不過返回的響應中沒有具體的內容,⽤用於獲取報頭
    • POST 向指定資源提交數據進行處理請求。數據被包含在請求體中
    • PUT 從客戶端向服務器器傳送的數據取代指定的文檔的內容
    • DELETE 請求服務器器刪除指定的頁面
    • CONNECT HTTP/1.1協議中預留留給能夠將連接改爲管道方式的代理理服務器器。
    • OPTIONS 允許客戶端查看服務器的性能
    • TRACE 回顯服務器收到的請求,主要用於測試或診斷
  • HTTP響應頭信息
    在這裏插入圖片描述

http之狀態碼和content-type

  • 常見的http狀態碼
    • 200 請求成功
    • 301 資源被永久轉移到其他URL
    • 404 請求的資源(網頁等)不存在
    • 500 內部服務器錯誤
  • http狀態碼分爲5類
    在這裏插入圖片描述
  • Content-Type 內容類型
    • 常見的媒體格式類型如下
      • text/html:HTML格式
      • text/plain:純文本格式
      • text/xml:XML格式
      • image/gif:gif圖片格式
      • image/jpeg:jpg圖片格式
      • image/png:png圖片格式
      • multipart/form-data:需要在表單中進行文件上傳時,就需要使用該格式
    • 以application開頭的媒體格式類型:
      • application/xhtml+xml:XHTML格式
      • application/xml:XML數據格式
      • application/atom+xml:Atom XML聚合格式
      • application/json:JSON數據格式
      • application/pdf:pdf格式
      • application/msword:Word文檔格式
      • application/octet-stream:二進制流數據(常見的文件下載)
      • application/x-www-form-urlencoded:表單中默認的encType,表單數據被編碼爲key/value格式發送到服務器器

嘗試使用NodeJS搭建自己的第一個http服務器

  • 引入http模塊
const http = require('http')
  • 創建http服務器器
const http = require('http');
const server = http.createServer((req,res)=>{
res.writeHead(200,{'content-type':'text/html'});
res.end('<h1>hello world</h1>');
})
server.listen(3000,()=>{
console.log('監聽了了3000端⼝口')
})

在這裏插入圖片描述

發佈了59 篇原創文章 · 獲贊 4 · 訪問量 5129
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章