Http與Https的區別:
- HTTP 的URL 以http:// 開頭,而HTTPS 的URL 以https:// 開頭
- HTTP 是不安全的,而 HTTPS 是安全的
- HTTP 標準端口是80 ,而 HTTPS 的標準端口是443
- 在OSI 網絡模型中,HTTP工作於應用層,而HTTPS 的安全傳輸機制工作在傳輸層
- HTTP 無法加密,而HTTPS 對傳輸的數據進行加密
- HTTP無需證書,而HTTPS 需要CA機構wosign的頒發的SSL證書
什麼是Http協議無狀態協議?怎麼解決Http協議無狀態協議?
無狀態協議對於事務處理沒有記憶能力。缺少狀態意味着如果後續處理需要前面的信息。也就是說,當客戶端一次HTTP請求完成以後,客戶端再發送一次HTTP請求,HTTP並不知道當前客戶端是一個”老用戶“。
可以使用Cookie來解決無狀態的問題,Cookie就相當於一個通行證,第一次訪問的時候給客戶端發送一個Cookie,當客戶端再次來的時候,拿着Cookie(通行證),那麼服務器就知道這個是”老用戶“。
常用的HTTP方法有哪些?
- GET: 用於請求訪問已經被URI(統一資源標識符)識別的資源,可以通過URL傳參給服務器
- POST:用於傳輸信息給服務器,主要功能與GET方法類似,但一般推薦使用POST方式。
- PUT: 傳輸文件,報文主體中包含文件內容,保存到對應URI位置。
- HEAD: 獲得報文首部,與GET方法類似,只是不返回報文主體,一般用於驗證URI是否有效。
- DELETE:刪除文件,與PUT方法相反,刪除對應URI位置的文件。
- OPTIONS:查詢相應URI支持的HTTP方法。
常見的HTTP相應狀態碼
- 200:請求被正常處理
- 204:請求被受理但沒有資源可以返回
- 301:永久性重定向
- 302:臨時重定向
- 303:與302狀態碼有相似功能,只是它希望客戶端在請求一個URI的時候,能通過GET方法重定向到另一個URI上
- 304:發送附帶條件的請求時,條件不滿足時返回,與重定向無關
- 307:臨時重定向,與302類似,只是強制要求使用POST方法
- 400:請求報文語法有誤,服務器無法識別
- 401:請求需要認證
- 403:請求的對應資源禁止被訪問
- 404:服務器無法找到對應資源
- 500:服務器內部錯誤
- 501:Not Implemented 服務器不支持實現請求所需要的功能,頁眉值指定了未實現的配置。
- 502:Bad Gateway 服務器作爲網關或者代理時,爲了完成請求訪問下一個服務器,但該服務器返回了非法的應答。
- 503:Service Unavailable 服務不可用,服務器由於維護或者負載過重未能應答。
- 504:Gateway Timeout/網關超時