HTTP(S)协议详解
1 什么是協議
- 協議,網絡協議的簡稱,網絡協議是通信計算機雙方必須共同遵從的一組約定。如怎么樣建立連接、怎么樣互相識別等。只有遵守這個約定,計算機之間才能相互通信交流。
粗俗理解協議就是 比如你的電腦和我的電腦要通信,(我們之間的交流為什么互相聽得懂,因為我們都是用中文),協議就是一種規范,你按照這個格式來發包,我按照這個格式來解析這個包沒有問題。協議就和語言一樣
2 什么是HTTP
客戶端和服務端都是一臺電腦,只不過服務端的電腦配置要好很多
request:請求
response:響應
這個協議可以干什么呢?
- 能獲取服務器上的一些文件(其它電腦的一些文件),比如說web服務器
服務器說白了,像web服務器,比如我有一些小說和一些圖片想讓你看看,那我可以直接拷貝給你,但是我不可能拷貝給世界上所有的人,所以我建立一個域名,讓世界上所有的人都能夠訪問我的服務器,我把想讓你們看的東西都放在上面,大家都可以看了,都可以通過http協議看到了。這就是 服務器,協議就是在它上面通過這么個渠道可以看到我電腦上的一些文件。
這種協議簡單快速(客戶向服務器請求服務時,只需傳送請求方法和路徑),靈活, 無連接。
GET
POST
HTTP請求方法:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods
GET /books/?sex=man&name=Professional HTTP/1.1
Host: www.xxx.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050225
Firefox/1.0.1
Connection: Keep-Alive
GET提交的內容在URL里面
POST / HTTP/1.1
Host: www.xxx.com(Host是請求的域名是什么)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050225
Firefox/1.0.1
Content-Type: application/x-www-form-urlencoded
Content-Length: 40 Connection: Keep-Alive
name=Professional%20Ajax&publisher=Wiley
POST提交的內容在header里面
抓個包看看:
HTTP請求的header:
3 什么是HTTP(S)
HTTPS就是給HTTP通過了一項安全的保障,其他的東西都沒有變
? HTTPS 即 HTTP over TLS/SSL,是一種在加密信道進行 HTTP 內容傳輸的協議。
? HTTP/TCP/IP (HTTP)
? HTTP/SSL/TSL/TCP/IP (HTTPS)
非對稱密鑰(Asymmetric cryptography):加密的密鑰和解密的密鑰不一樣
4 常用字段
? https://zh.wikipedia.org/wiki/HTTP%E5%A4%B4%E5%AD%97%E6%AE%B5
? https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers
? Multipurpose Internet Mail Extensions (MIME)https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
5 HTTP協議潛在漏洞
6 怎么學
? https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods
? https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
? 學自己經常遇到的問題
? 總結學習方法
總結
以上是生活随笔為你收集整理的HTTP(S)协议详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XAMPP的安装与使用
- 下一篇: proteus仿真micropython