在计网主要详细介绍了网络的底层,这里主要讲网络的应用层
作用 : HTTP(Hypertext Transfer Protocol)是一种用于传输超文本(Hypertext)数据的协议,通常用于在Web浏览器和Web服务器之间传递信息。
特点 : 不加密传输数据,基于C/S模型
使用端口 : 80
分为请求和响应两个方面
请求行
get 获取资源
post 创建资源,如登陆账号密码后,服务器返回token,以后每次按token登陆
put 更改资源
DELETE 删除资源
请求路径
URL、协议版本...
请求头
Content-Type :请求体的格式
Content-Length :请求的总大小
User-Agent :使用的是什么客户端
Authorization :认证信息(例如登录产生的 token )
请求体(载荷)
一对子节,由Content-Type指明类型,如JSON 的 Content-Type 是application/json
状态码
200 正常
302 304 重定向,寻找已缓存的资源
403 Forbidden 404 Not Found 客户端错误
503 500 服务器问题
响应头
跟请求头类似
响应体
响应得到的不同数据
scheme://host:port/resource_path?param1=val1¶m2=val2#id
scheme :协议,例如 http和https
host :主机名,例如 www.baidu.com
port :端口,不提供的话会使用默认设置(如 http 默认使用 80 )
/resource_path :资源路径,例如 bilibili.com/video/BVxxxx
?param1=val1¶m2=val2 :查询字符串,用于发送一些特定的参数,例如uth4.tsinghua.edu.cn/succeed_wired.php?ac_id=1&username=xxx&ip=yyy
#id :片段标识符,用于指定网页上的一个特定部分,浏览器会自动滚动到带有该id的元素。
s:secure,即在http的基础上加了安全层,叫做SSL(安全套接层)或TLS(传输层安全).这一层通过加密和身份验证来保护数据的传输,防止信息被恶意窃听或篡改。
而https在传输时会经过CA(Certificate Authority)证书的加密和解密,而数据传输时,必须要保证证书一样,才能解密传输的数据
CA证书经常改变以保证https的安全性
端口 :443