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端⼝口')
})