HTTP协议

万维网/互联网/WWW

1.万维网的定义:分布式的信息存储空间
存储地理位置不同的三台设备:A设备存储文件;B设备存储图片;C设备存储音频
用户自己的设备通过连接在互联网上,把存储在ABC设备上的资源下载到电脑上进行阅读

2.万维网的组成:
    URL/统一资源定位符
    HTTP协议:应用层协议,传输层使用TCP协议来保证文件的完整性,端口号:80
    HTML/超文本标记语言

URL/统一资源定位系统

在上述的互联网空间中,所有的事物统称"资源",这些资源被"URL"进行标识,我们通过URL
来访问各种资源,而这些资源需要通过"超文本协议--HTTP"传输给使用者

    使用格式:协议://主机名:端口号/路径
            https://baike.baidu.com/item/TCP/33012?fr=ge_ala
    使用https协议找到资源所在主机下的存储路径(常用端口号有时会省略)

HTTP/超文本传输协议

HTTP协议定义了浏览器(万维网的客户端程序)怎么向万维网服务器请求万维网文档,
以及服务器怎么把文档传输给浏览器的过程

HTTP请求报文

请求行:
请求方法:get post
get:请求读取一个web页面
post:请求web页面的同时附加一个资源信息(多个web页面)
访问资源URL
HTTP版本:

报文主体:包含登陆的认证信息

HTTP响应报文

状态码:由数字和原因短语组成的信息,用来描述当前页面的状态。
    100-199:提示信息,表示一种处理的中间状态,等待后续操作
    200-299:成功访问 200
    300-399:重定向(浏览器访问服务器A被告知资源在B处,后又访问B获取资源)
    400-499:客户端错误、请求报文错误、服务器无法处理

报文主体:包含用户要访问的页面信息

长短链接

短链接:每一次发送HTTP请求都需要重新建立一次TCP连接,会增加通讯成本

长链接:只有等到页面完全关闭才会断开TCP连接(HTTP1.1版本后所有的链接都被修改为长链接)

资源保存的方式

对于一些内容短期不变且重复性请求的信息,可以把获取到的资源缓存到本地设备中
以后可以直接在本地读取这个信息,而不需要再通过HTTP协议上万维网请求

缓存是存在时效性的:避免大量占用本地内存;缓存内容应及时与原服务器上内容保持一致

缓存方式

强制缓存:
    向浏览器查找该请求结果,并将响应结果保存在本地磁盘中
    判断规则:满足规则保存本地,不满足则不保存

协商缓存:
    1.看到响应码为304时:服务器告知浏览器可以使用本地缓存的资源
    (浏览器先访问本地缓存,然后将本地缓存资源同请求包一同发给服务器
    服务器收到后进行内容对比,内容一致后发送304响应码,浏览器发现是304直接使用本地资源)
    2.看到响应码为200时:代表服务器资源和本地缓存资源不一致,服务器会将最新资源发给浏览器

Cookie和Session

HTTP协议是一种无状态协议:HTTP协议本身不对请求和响应之间的通讯状态进行保存

无状态的优势和缺陷:
优势:服务器不会记录HTTP状态,所以就不会有额外的资源消耗产生,从而减轻负担
  能够将更多的CPU或者内容用来对外提供服务

缺陷:因为没有记录状态,想要完成关联性操作会非常麻烦

Cookie原理--俗称小甜饼

Cookie实际上是一小段文本信息,这段文本信息会跟随用户请求在服务器和浏览器之间传递
Cookie常用于账号密码登录时的短暂记忆

万维网工作流程:

1.用户浏览器搜索输入URL信息,浏览器分析URL提取域名信息
2.用户浏览器向DNS服务器请求解析域名的IP地址
3.DNS服务器解析出IP地址并返回给用户浏览器
4.浏览器与该HTTP服务器建立TCP连接
5.浏览器发送HTTP请求报文,用以取出客户想要得到的资源信息
6.服务器通过HTTP响应报文,将客户所需要的文件发送给浏览器
7.浏览器释放TCP连接
8.浏览器解读文件并将该文件内容在web页面显示给用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值