HTTP协议

举报
高彬滔 发表于 2023/03/30 22:48:35 2023/03/30
【摘要】 前言HTTP 协议一般指 HTTP(超文本传输协议)。超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。HTTP 是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。HTTP 是一个基于...

前言

HTTP 协议一般指 HTTP(超文本传输协议)。

超文本传输协议(英语:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议,所有的 WWW 文件都必须遵守这个标准。

HTTP 是为 Web 浏览器与 Web 服务器之间的通信而设计的,但也可以用于其他目的。

HTTP 是一个基于 TCP/IP 通信协议来传递数据的(HTML 文件、图片文件、查询结果等)。

协议分析

http的发展

起初响应的只有html,到了http/2的速度和功能都变得更强大了

image.png

请求方法

HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD 方法。

HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。

  • GET:请求一个指定的表示形式,使用GET请求应该只被用于获取数据
  • POST:用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用
  • PUT:用于请求有效负荷替换目标资源的所有当前表示
  • DELETE:删除指定的资源
  • HEAD:请求一个与GET请求的响应相同的响应,但是没有响应体
  • CONNECT:建立一个由目标资源标识的服务器隧道
  • OPTIONS:用于描述目标资源的通信选项
  • TRACE:沿着到目标资源的路径执行一个消息环回测试
  • PATCH:用于对资源应用部分修改

状态码及意义

image.png

  • 200 ok-- 客户端请求成功
  • 301-- 资源(网页等)被永久转移到其它URL
  • 302--临时跳转
  • 401 Unauthorized --请求未经授权
  • 404--请求资源不存在,可能是输入了错误的URL
  • 500--服务器内部发生了不可预期的错误
  • 504--Gateway Timeout--网关或者代理的服务器无法在规定的时间内取得想要的响应

缓存

image.png

cookie

也叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。 通常,它用于告知服务端两个请求是否来自同一浏览器,如保持用户的登录状态。

image.png

服务器使用 Set-Cookie 响应头部向用户代理(一般是浏览器)发送 Cookie 信息。一个简单的 Cookie 可能像这样:

Set-Cookie: <cookie-name>=<cookie-value>

复制代码

场景分析

静态资源

  1. 打开浏览器
  2. 打开一个网址,比如:今日头条 (toutiao.com)
  3. 打开控制台: 鼠标右键检查 或者 F12
  4. 切换到network

状态码200并不是正在的通过http访问拿到的,而是通过本地缓存 image.png

通过看响应头可以知道:

  • 缓存策略是强缓存
  • Cache-control:一年
  • 允许所有域名访问
  • 资源类型:css

image.png

总结

网络方面的知识是前端必不可少了,掌握http常识更是可以提高编程水平


作者:高彬滔
链接:https://juejin.cn/post/7198876491123294268
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。