http

HTTP请求模型

两端 客户端和服务端   

客户端请求服务端

服务端响应 客户端

浏览器行为与HTTP协议

处理流程:

1.输入网址并回车

2.解析域名

3.浏览器发送HTTP请求

4.服务器处理请求

5.服务器返回HTML响应

6.浏览器处理HTML页面

7.继续请求其他资源

先从局域网跳到互联网

firewall(防火墙),网关,代理服务器

找到相应的ip

背着数据到达相应的ip

根据ip找到相应的服务器

服务器处理数据返回所要的数据

背着数据返回给浏览器

浏览器处理数据

最终展现给用户

HTTP协议

协议就是规范

文本协议 HTTP/0.9 HTTP/101 HTTP/1.1 HTTP/2.0 HTTP/3.0

一个请求 一个响应  

TCP/IP协议栈

1.应用层   -----> HTTP (访问网站) SSH(远程连接) SMTP(邮件)

2.传输层  ---> tcp/udp协议

3.网络层  ----->ip层  ping命令 

4.网络接口层   ----> 网卡 mac地址

ISO/OSI

1.应用层

2.表示层

3.会话层 ----> https 加密

4.传输层 ---> tcp/udp协议

5.网络层 ---> ip层  ping命令 

6.数据连接层 ---> 网卡 mac地址

7.物理层 ---> 硬件   网线,无线电波...

HTTP默认端口80

HTTPS默认端口443

HTTP -----> TCP -----> IP ------> 数据链路层

1.1比1.0 多了keepalive 长链接

HTTP的工作过程

一次HTTP的操作为一个事务,分为四步:

有依赖性 后面依赖前面的是否成功

事务可以回滚 发现失败了前面的工作白做  前面如果有写操作就得改回原来的状态

1.建立连接  TCP

2.客户机发送一个请求给服务器 URL 协议版本号  头信息  请求数据

3.服务器接收请求,响应客户机 状态行 协议版本号  头信息 返回数据

4.断开连接  TCP

 请求与响应

HTTP请求组成:请求行,消息报头,请求正文(post才有请求正文)

HTTP响应组成:状态行,消息报头,响应正文

请求行:方法的符号开头(GET,POST...)路径 HTTP/1.1

状态行:HTTP/1.1 200 ok

请求

1.请求方法 2.请求URL 3.HTTP协议及版本   请求行

4.报文头(key: value)格式   请求头部

(回车换行 隔开)

5.报文头    请求数据

响应

1.报文协议及版本 2.状态码及状态描述

3.响应头

4.响应体

请求方法(1.1的请求方法) CRUD(增删改查)

GET  ----> 查

POST  -----> 改

HEAD  ---->只响应头部

PUT  -----> 增

DELETE  -----> 删

TRACE  ----->测试或诊断  在HTTP层面上是否通

CONNECT

OPTIONS

HTTP状态码

1xx: 请求已接收

2xx:成功

3xx: 重定向

4xx: 客户端错误

5xx:服务端错误

 请求json数据 RESTful   头部填写application/json

数据压不压缩在后端设置 nginx里面

Accept-Language ---->国际化设置

Referer --->上一个路径   可以防止爬虫

ETag ----->缓存

cookies与session

cookies保存在客户端的小段文本,由服务端生成 永远在客户端

session 保存在服务器上的数据,由服务端生成,当成一个数据库当中的一条记录 有时放到缓存里面  分流时用memcache 永远在服务器端

一个session对应一个客户端 根据需要产生cookies 

session 有过期时间

要配合起来使用 维持浏览器的登录状态

 HTTP缓存机制

浏览器缓存 (缓存经常访问的数据)

速度  cpu>内存>硬盘>端口

特点:

1.减少相应延迟

2.减少网络带宽消耗

浏览器缓存机制

1.浏览器请求

 2.无缓存

3.向web服务器请求

4.请求响应,缓存协商

5.呈现

缓存策略 ----> Etag/If-None-Match策略     Last-Modified/If-modified-Since策略

强制缓存------对比缓存

强制缓存不走网络

先检查强制缓存再检查对比缓存

对比缓存优先Etag策略再Last-modified

Etag--->与内容相对应

Last-modified -->资源生成的时间戳

 

 memory-cache   disk-cache  浏览器做决定

posted @ 2020-06-26 21:44  单身飞过撒哈拉  阅读(89)  评论(0)    收藏  举报