IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> http请求头和响应头 -> 正文阅读

[网络协议]http请求头和响应头

通用标头

请求和响应

Cache-Control

  • no-cache,服务器没有最新的则缓存里面获取,有最新则向服务器请求
  • no-store,不缓存,每次服务器接收到客户端的请求后,都会返回最新的资源给客户端
  • max-age,客户端发送max-age时,如果缓存服务器上的值小于max-age,那么返回缓存的数据,否则向服务器发送新的请求(max-age=0也是)

Cache-Control:no-cache

Cache-Control:max-age=60

Connection

浏览器与服务器的连接类型

Connection: keep-alive

当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接

Connection: close

代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭:当客户端再次发送Request,需要重新建立TCP连接

Date

日期 时间,是格林威治时间,比北京时间慢八小时

Pragma

只用于客户端发送请求中,客户端会要求所有的中间服务器不返回缓存的资源

http1.1之前不使用缓存

  • Cache-Control:no-cache
  • Pragma:no-cache

如果所有的中间服务器都实现http1.1,那么直接Cache-Control:no-cache

Trailer

Transfer-Encoding

Upgrade

Via

Warning

请求头

Accept

客户端能够接收的MIME类型是什么

Multipurpose Internet Mail Extensions是描述消息内容类型的英特网标准

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9

q表示权重,1.0默认不写

Accept-Encoding

客户端能够处理的的压缩编码。通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate),(注意:这不是指字符编码)

Accept-Encoding: gzip, deflate, br

Accept-Language

客户端需要服务端返回的语言

Accept-Language: zh-CN,zh;q=0.9
Accept-Language: en-US;en

Accept-Charset

客户端能接受的字符集

Accept-charset:	utf-8, iso-8859-1,;q=0.5, *;q=0.1

Expect

From

If-Match

If-None-Match

If-Range

If-Unmodified-Since

Max-Forwards

Proxy-Authorization

Range

TE

Host

发送请求的页面的域名。(发送请求时,该报头域是必需的),请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的

我们在浏览器中输入:http://www.hzau.edu.cn,浏览器发送的请求消息中,就会包含Host请求报头域,如下:

Host:www.hzau.edu.cn,此处使用缺省端口号80,若指定了端口号,则变成:Host:指定端口号

例如:localhost:8080

Referer

告诉服务器我是从哪个页面链接过来的,服务器借此可以获得一些信息用于处理

防盗链处理

User-Agent

浏览器的用户代理字符串。告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4651.0 Safari/537.36

Authorization

通常用在服务器以401未经授权状态和WWW-Authenticate:Basic

告知客户端需要认证信息

Cookie

响应标头

Age

告诉客户端源服务器在多久之前创建了响应,单位s,Age通常接近0,如果是0则可能是从源服务器获取的,如果不是,表示可能是由代理服务器创建,那么Age的值表示的是缓存后的响应再次发起认证到认证完成的时间值。代理创建响应时必须加上Age

Age:24

ETag

条件请求就是根据ETag的值进行匹配的

特定版本的标识,它能够缓存变得更高效并能够节省宽带,因为如果缓存内容未发生变化,web服务器则不需要重新发送完整的响应,ETag能够防止资源同时更新互相覆盖

给定URL的资源变化了,必须生成一个新的ETag值

  • 强ETag

    ETag: “33a64df551425fcc55e4d42a148795d9f25f89d4”

  • 若ETag
    ETag: W/“0815”

location

表示重定向的URL

Proxy-Authentication

表示客户端与代理之间认证

  • Proxy-Authentication:Basic
  • Proxy-Authentication:Basic realm = “Access to the internal site”

WWW-Authentication

401

  • WWW-Authentication:Basic
  • WWW-Authentication:Basic realm=“Access to the staging site”, charset=“UTF-8”

Retry-After

告知客户端需要多久重新发送请求

有三种情况

  1. 当发送503(服务不可用),服务预计多长时间不可用
  2. 当发送429(请求太多),发出新请求要等多长时间
  3. 当发送重定向的响应像是301(永久移动),发出重定向请求之前要求客户端等待的最短时间

形式:

  1. Retry-After:Mon, 04 Oct 2021 13:21:05 GMT
  2. Retry-After:120 (单位是秒)

Server

服务器

Server:Apache/2.4.1(UNIX)

Vary

确定如何匹配请求标头,以决定是否可以使用缓存的响应,而不是从服务器请求一个新的响应

比如Vary: Accept-Encoding,User-Agent,那么Accept-Encoding与User-Agent两个请求头的内容,就会作为判断是否返回缓存数据的依据,当缓存服务器中相同请求的缓存数据的编码格式、代理服务与当前请求的编码格式、代理服务一致,那就返回缓存数据,否则就会从服务器重新获取新的数据

Access-Control-Allow-Origin

告诉浏览器允许该来源访问资源

Access-Control-Allow-Origin:https://mozilla.org,表示允许源https://mozilla.org访问资源

如果服务器指定单个来源而不是*的话,还应在Vary加上Origin 即 Vary:Origin

实体标头

用于请求和响应中

Allow

405 Method Not Allowed,就是客户端和服务端的请求类型不一致

Allow:GET,POST,HEAD

Content-Type

具体查看httpclient的使用

Content-Encoding

上面说了,Accept-Encoding是客户端希望返回的内容编码,但是实际上服务端返回给客户端的内容编码是根据,Content-Encoding来返回的

Content-Language

服务端用的语言

Content-Length

服务器发送给客户端的实体大小,以字节为单位

Content-Length:3000,总共3000字节

Content-Range

告知客户端响应实体的哪部分是符合客户端请求的,以字节为单位

Content-Range:bytes 200 - 1000/67589

表示从所有67589字节中,返回200-1000字节的内容

Content-Location

表示用于访问资源的直接URL,无需进一步的内容协商

Content-MD5

客户端会对接收的报文主体执行相同的MD5算法,然后与首部字段Content-MD5字段进行比较,

目的在于检查报文主体在传输过程中是否保持完整,有无被修改的情况,以及确认传输到达

Expires

返回的日期,如果在该日期之后,则响应过期

是http1.0的字段,现在浏览器默认使用的是http1.1

如果是因为时区原因或者客户端或服务端有一方的时间不准确,则缓存就直接失效了

Last-Modified

资源最后的修改时间,它用作验证器来确定接收或存储的资源是否相同。它的作用不如ETag那么准确

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:35:11  更:2021-10-06 12:35:58 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/29 19:10:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码