HTTP实用指南 | 青训营
初识HTTP协议
初识
背景知识
- 在浏览器地址栏输入一个字符串到页面渲染出东西这个过程中发生了什么?
什么是HTTP
- Hyper Text Transfer Protocol超文本传输协议
- 应用层协议,基于TCP协议
- 请求响应
- 简单可扩展
- 无状态
协议分析
持续发展
HTTP/2概述
如果每次有相关请求都要建立链接,消耗较大。
HTTPS概述
报文解析
- 以1.1协议为例
Method
- Safe (安全的):不会修改服务器的数据的方法(GET HEAD OPTIONS)
- ldempotent(幂等): 同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,所有safe的方法都是ldempotent的。(GET HEAD OPTIONS PUT DELETE)
状态码
RESTful API
常见请求头
常见响应头
缓存
- 请求头的一个场景
- 强缓存:如果该资源本地存在,可直接使用。
- 协商缓存:即使本地有一个缓存,仍需与server端有一个通信验证该资源能否使用的过程。
- 在真实处理这么多缓存中是否有优先级的区别?
cookie
场景分析
静态资源
- 打开CSS请求后有一个index.开头,.css结尾的文件,若抓到了请求且状态码为200,是否有真实的请求网络的过程?
- 若未成功抓包,即
from cache
,实际上是从本地缓存里拿到的响应。
access-control-allow-origin:*
代表一个访问控制,*
表示允许任意的访问来源请求。content-type:text/css; charset=utf-8
表示携带的实际信息的资源类型,即CSS文件。
- 第一次打开页面的时候,为让页面尽可能快,将静态资源放在CDN中。
登陆
- 在输入框内输入关键词
quick_login
,选择ALL
,有两个请求。 - 区别
- 第一个请求:Method为OPTIONS,为经典场景,但存在跨域,所以会有OPTIONS的出现。
- 什么是跨域?什么时候跨域?
- 第一个请求:Method为OPTIONS,为经典场景,但存在跨域,所以会有OPTIONS的出现。
- 默认端口号为443或80,可省略。
- 请求分为简单请求和复杂请求,当请求为复杂请求(生活和生产中大部分都是)时,查明sever端是否允许跨域,才会发起跨域。
- 跨域问题实际上是浏览器的一个叫“同源策略”的安全策略,若通过代理服务器可以绕开浏览器,既可以解决这个问题。
两个问题
- HTTP不是无状态请求吗?为什么能记住登陆态? 答:涉及到了一个及安全方案
- 大部分网站都使用
Session cookie
的方案,登陆成功后会发起一个提交的请求,将当天的帐户名密码等相关信息提交给Sever,若正确,Sever会将信息存储起来。 - 也可使用JWT,下一次登陆时将token提交给Sever,Sever判断解析是否有效。
- 简单介绍
实战
浏览器篇
- AJAX之XHR
- AJAX之Fetch
- Promise能很好地处理回调定域
node篇
- 标准库:HTTP/HTTPS
- 常用的请求库:axios,能进行逻辑判断当前所属的不同的环境,执行相应的请求。
用户体验
网络优化
稳定性
了解更多
通信方式
webSocket
QUIC
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbbiff
系列文章
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01