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 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 【计算机网络】常见请求头响应头字段 -> 正文阅读

[网络协议]【计算机网络】常见请求头响应头字段

计算机网络之常见请求头响应头字段及其作用

Accept-xxx

  • Accept

    这个头信息指定浏览器或其他客户端可以处理的MIME类型(多媒体类型)。有text/html,image/,/等几种常用类型。/*可以简单的概括为告诉服务器,客户端什么数据类型都支持。

  • Accept-Charset

    这个头信息指定浏览器可以用来显示信息的字符集。例如 ISO-8859-1。

  • Accept-Encoding

    这个头信息指定浏览器知道如何处理的编码类型。值 gzip 或 compress 是最常见的两种可能值。

  • Accept-Language

    这个头信息指定客户端的首选语言,在这种情况下,Servlet 会产生多种语言的结果。例如,en、en-us、ru 等。

Authorization

Authorization是用来告知服务器,用户代理的认证信息(证书值)。通常,想要通过服务器认证的用户代理会在接受到返回的401状态码响应后,把首部字段Authorization加入请求中。

连接相关

  • Connection

    这个头信息指示客户端是否可以处理持久 HTTP 连接。持久连接允许客户端或其他浏览器通过单个请求来检索多个文件。值 Keep-Alive 意味着使用了持续连接。

存储与缓存相关

  • Cookie

    存储用户的信息和历史行为,存储session(保持会话),4k

  • Expires

    一个GMT时间(绝对时间),试图告知浏览器,在此日期内,可以信任并使用对应缓存中的副本,缺点是一但客户端日期不准确,则可能导致失效。

  • Last-Modified

    一个GMT时间,告知被请求实体的最后修改时间.用于浏览器校验其缓存副本是否仍然可以信任.与其相关的两个条件请求标头:

    • If-Modified-Since

      仅在get方法中意义,这个也是比较常见的。 如果实体在指定时间后,没有修改则返回一个304,否则返回一个常规的Get请求的响应(比如200),静态文件没有修改返回304是好的,因为它只是回服务器校验一下是否有修改,而并没有像200那样重新请求数据。

    • If-Unmodified-Since:

      如果实体没有任何修改,那么就可以直接执行该请求, 而如果有修改,则返回一个412 Precondition Failed状态码,并且抛弃该方法对应的行为操作(GET方法除外).

  • Cache-Control

    • public
      仅体现在响应头,通知浏览器可以无条件的缓存该响应。

    • private
      仅体现在响应头,通知浏览器只针对单个用户缓存响应. 且可以具体指定某个字段.如private –“username”

    • no-cache

      请求头中:告诉浏览器回去服务器取数据,并验证你的缓存(如果有的话)。

      响应头中:告诉浏览器,一定要回服务器校验,不管有没有缓存数据。如果确定没有被改,可以使用缓存中的数据

    • no-store

      告诉浏览器任何情况下都不要被缓存。

    • max-age

      请求头中:强制响应浏览器,根据该值,校验缓存。即与自身的Age值,与请求时间做比较。如果超出max-age值,则强制去服务器端验证。以确保返回一个新鲜的响应。其功能本质上与传统的Expires类似,但区别在于Expires是根据某个特定日期值做比较。一但缓存者自身的时间不准确,则结果可能就是错误的。而max-age,显然无此问题。Max-age的优先级也是高于Expires的。

      即max-age是相对时间,Expires是绝对时间。

  • ETag

    资源实体的标识(唯一标识,类似md5值,文件有修改md5就不一样),如果资源被修改则Etag也会改变,可以根据Etag的变化知道资源是否被改变,相较于last-modifid的好处是,不会被时间影响。

    比如一个资源在修改一段时间后又修改回去了,这样last-modified就会认定这样的情况是资源被修改了,然后返回新的资源。而Etag则会认为资源没有被修改。

跨域相关

响应头:

  • Access-Control-Allow-Credentials

    这里的Credentials(凭证)其意包括:Cookie ,授权标头或 TLS 客户端证书,默认CORS请求是不带Cookies的,这与JSONP不同,JSONP每次请求都携带Cookies的,当然跨域允许带Cookies会导致CSRF漏洞。如果非要跨域传递Cookies,web端需要给ajax设置withCredentials为true,同时,服务器也必须使用Access-Control-Allow-Credentials头响应。此响应头true意味着服务器允许cookies(或其他用户凭据)包含在跨域请求中。另外,简单的GET请求是不预检的,即使请求的时候设置widthCrenditials为true,如果响应头不带Access-Control-Allow-Credentials,则会导致整个响应资源被浏览器忽略。

  • Access-Control-Allow-Origin

    是否允许当前源访问。

  • Access-Control-Allow-Headers

    在CORS中,默认的,只允许客户端读取下面六个响应头

    • Cache-Control
    • Content-Language
    • Content-Type
    • Expires
    • Last-Modified
    • Pragma
  • Access-Control-Allow-Methods

Referer

这个头信息指示所指向的 Web 页的 URL。例如,如果您在网页 1,点击一个链接到网页 2,当浏览器请求网页 2 时,网页 1 的 URL 就会包含在 Referer 头信息中。
指示该请求来自于哪个网页的URL,可以一定程度防止CSRF攻击:服务器端检查Referer字段可以判断发起请求的网站是否是原来的网站,因为CSRF攻击会在获得用户Cookie后从另一个网站发送请求。

Host

这个头信息指定原始的 URL 中的主机和端口。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:42:25  更:2021-08-05 17:44:14 
 
开发: 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年5日历 -2024/5/4 0:26:55-

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