前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于HTTP,我们需要知道的事儿

关于HTTP,我们需要知道的事儿

作者头像
城市中的游牧民族
发布2019-02-21 10:48:10
6020
发布2019-02-21 10:48:10
举报
文章被收录于专栏:前端真相

1.HTTP报文

报文首部与报文主体之间存在空行。

(1)HTTP请求报文 HTTP请求报文 = 报文首部 + 报文主体(请求参数)

报文首部 = 请求行 + 通用首部字段 + 请求首部字段 + 实体首部字段 + 其它 请求行 = 请求方法 + HTTP版本 + URI (2)HTTP响应报文 HTTP响应报文 = 报文首部 + 报文主体(返回内容) 报文首部 =状态行 + 通用首部字段 +响应首部字段 + 实体首部字段 + 其它 状态行 = HTTP版本 + 状态码

2.浏览器缓存

(1) 强制缓存 Expires 是 HTTP 1.0 的字段,而 Cache-Control 是 HTTP 1.1 的字段,当 Expires 与 Cache-Control 同时存在时,Cache-Control 的优先级要高于 Expires。 Cache-Control是相对时间,单位为秒;Expires为绝对时间。

(2) 协商缓存 根据Etag(哈希值)判断是否缓存;服务端下发给客户端 last-modified,客户端获取后,下次请求带上 last-modified-since。

补充说明: Expires要求客户端和服务端的时钟严格同步。HTTP1.1引入Cache-Control来克服Expires头的限制。如果max-age和Expires同时出现,则max-age有更高的优先级。

Front-End-Https 微软应用程序和负载均衡器使用的非标准header字段 Front-End-Https: on。

对应关系: etag —— if-none-match last-modified —— if-modified-since

参考链接——https://github.com/rccoder/blog/issues/12

3.常用标准响应头字段

防止跨站请求伪造

代码语言:javascript
复制
X-Csrf-Token,X-CSRFToken,X-XSRF-TOKEN 
X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql

跨域

代码语言:javascript
复制
  Access-Control-Allow-Origin 指定哪些站点可以参与跨站资源共享

  Access-Control-Allow-Origin: *

代码语言:javascript
复制
Set-Cookie 设置HTTP Cookie
Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1

Status 设置HTTP响应状态
Status: 200 OK

4.常用非标准响应头字段

X-XSS-Protection 过滤跨站脚本

代码语言:javascript
复制
X-XSS-Protection: 1; mode=block

X-UA-Compatible 推荐首选的渲染引擎来展示内容,通常向后兼容,也用于激活IE中内嵌chrome框架插件

代码语言:javascript
复制
<meta http-equiv="X-UA-Compatible" content="chrome=1" />

X-UA-Compatible: IE=EmulateIE7
X-UA-Compatible: IE=edge
X-UA-Compatible: Chrome=1

5.常用标准请求头字段

(1)form-data 和 request playload的区别

在这里插入图片描述
在这里插入图片描述

参考链接:https://github.com/kaola-fed/blog/issues/105

6.状态码

(1)重定向

301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了),搜索引擎在抓取新内容的同时也将旧的网址换为重定向之后的网址。 302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,搜索引擎会抓取新的内容而保存旧的网址。 SEO 302好于301。

(2)网关 网关错误:502 扮演网关或者代理角色的服务器没有接收到来自上游服务器的正确响应。 网关超时:504 扮演网关或者代理角色的服务器没有及时响应。 (3)代理 500 Internal Privoxy Error Privoxy encountered an error while processing your request:

Could not load template file no-server-data or one of its included components.

Please contact your proxy administrator.

If you are the proxy administrator, please put the required file(s)in the (confdir)/templates directory. The location of the (confdir) directory is specified in the main Privoxy config file. (It’s typically the Privoxy install directory).

请求的服务无法响应代理服务器的请求。

7.跨域

(1)CORS

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年08月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.HTTP报文
  • 2.浏览器缓存
  • 3.常用标准响应头字段
  • 4.常用非标准响应头字段
  • 5.常用标准请求头字段
  • 6.状态码
  • 7.跨域
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档