常见的http请求头以及响应头

这篇具有很好参考价值的文章主要介绍了常见的http请求头以及响应头。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、 常用的http请求头

1-1 Accept

1、 Accept : text/html 浏览器可以接收服务器回发的类型为text/html
2、 Accept: */*代表浏览器可以处理所有类型

1-2 Accept-Encoding

1、 Accept-Encoding: gzip,deflate 浏览器申明自己接收的编码方法,通常指定压缩方法,是否支持压缩,支持什么压缩方法(gzip,deflate)

1-3 Accept-Language

1-4 Connection

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

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

1-5 Host (发送请求时,该报头域是必须)

1、 Host: 请求报头域主要用于指定该请求资源的Internet主机和端口号,通常从HTTP URL中提取出来

1-6 Referer

1、 Referer: 当浏览器向Web服务器发送请求时,一般会带上Refer,告诉服务器从哪个页面链接过来的,服务器可以获得一些信息用于处理

1-7 Cache-Control

1、 Cache-Control :

  • Cache-Control:private : 默认为private 响应只能够作为私有的缓存,不能再用户间共享
  • Cache-Control:public** **响应会被缓存,并且在多用户间共享。正常情况, 如果要求HTTP认证,响应会自动设置为 private.
  • Cache-Control:must-revalidate 响应在特定条件下会被重用,以满足接下来的请求,但是它必须到服务器端去验证它是不是仍然是最新的。
  • Cache-Control:no-cache 响应不会被缓存,而是实时向服务器端请求资源。
  • Cache-Control:max-age=10 设置缓存最大的有效时间,但是这个参数定义的是时间大小(比如:60)而不是确定的时间点。单位是[秒 seconds]。
  • Cache-Control:no-store在任何条件下,响应都不会被缓存,并且不会被写入到客户端的磁盘里,这也是基于安全考虑的某些敏感的响应才会使用这个。

1-8 Cookie

1、 Cookie是用来存储一些用户信息以便让服务器辨别用户身份的(大多数需要登录的网站上面会比较常见)
2、 例子: cookie会存储一些用户的用户名和密码,当用户登录后就会在客户端产生一个cookie来存储相关信息,这样浏览器通过读取cookie的信息去服务器上验证并通过后会判定你是合法用户从而允许查看相应网页。
3、 还有很多信息可以存储是cookie里面,比如sessionid等。
4、 document.cookie = "name='ntt'; path='/frontend';expires='';secure"

1-9 Range(用于断点续传)

二、 常用的http响应头

2-1 Cache-Control

  • Cache-Control: private

    • 默认为private,响应只能作为私有的缓存,不能再用户间共享
  • Cache-Control:public

    • 浏览器 和 缓存服务器都可以缓存页面信息
  • Cache-Control: must-revalidate

    • 对于客户机的每次请求,代理服务器必须想服务器验证缓存是否过时
  • Cache-Control: no-cache

    • 浏览器和缓存服务器都不应该缓存页面信息
  • Cache-Control : max-age = 10

    • 通知浏览器10s之内不要烦我,自己从缓冲区中刷新
  • Cache-Control:no-store

    • 请求和响应的信息都不应该被存储在对方的磁盘系统中

2-2 Content-Type

1、 Content-Type:text/html;charset=UTF-8 : 告诉客户端,资源文件的类型,还有字符编码,客户端通过utf-8对资源进行解码,然后对资源进行html解析
2、通常我们会看到有些网站是乱码的,往往就是服务器端没有返回正确的编码。

2-3 Content-Encoding

1、 Content-Encoding:gzip :告诉客户端,服务端发送的资源是采用gzip编码的,客户端看到这个信息后,应该采用gzip对资源进行解码。

2-4 Date

1、 Date: Tue, 03 Apr 2018 03:52:28 GMT : 这个是服务端发送资源时的服务器时间,GMT是格林尼治所在地的标准时间
2、 http协议中发送的时间都是GMT的,这主要是解决在互联网上,不同时区在相互请求资源的时候,时间混乱问题。

2-5 Server

1、Server:Tengine/1.4.6 : 这个是服务器和相对应的版本,只是告诉客户端服务器信息。

2-6 Transfer-Encoding

1、 Transfer-Encoding:chunked

  • 告诉客户端,服务器发送的资源的方式是分块发送的
  • 一般分块发送的资源都是服务器动态生成的,在发送时还不知道发送资源的大小,所以采用分块发送
  • 每一块都是独立的,独立的块都能标示自己的长度,最后一块是0长度的,当客户端读到这个0长度的块时,就可以确定资源已经传输完了。

2-7 Expires

1、 Expires:Sun, 1 Jan 2000 01:00:00 GMT :

  • 跟缓存有关
  • 告诉客户端在这个时间前,可以直接访问缓存副本,
  • 这个值会存在问题,因为客户端和服务器的时间不一定会都是相同的,如果时间不同就会导致问题
  • 所以这个响应头是没有Cache-Control:max-age=*这个响应头准确的,因为max-age=date中的date是个相对时间

2-8 Last-Modified

1、 Last-Modified: Dec, 26 Dec 2015 17:30:00 GMT

  • 所请求的对象的最后修改日期
  • 按照 RFC 7231 中定义的“超文本传输协议日期”格式来表示)

2-9 Connection

1、 Connection:keep-alive

  • 这个字段作为回应客户端的Connection:keep-alive
  • 告诉客户端服务器的tcp连接也是一个长连接,客户端可以继续使用这个tcp连接发送http请求。

2-10 Refresh

1、 Refresh: 用于重定向,或者当一个新的资源被创建时。默认会在5秒后刷新重定向。

2-11 Access-Control-Allow-Origin

1、 跨域请求配置

2-12 Access-Control-Allow-Methods

1、 Access-Control-Allow-Methods:GET,POST,PUT,DELETE : 允许哪些方法来访问

2-13

1、 Access-Control-Allow-Credentials文章来源地址https://www.toymoban.com/news/detail-407043.html

  • Access-Control-Allow-Credentials: true ,允许发送cookie。
  • Cookie不包括在CORS请求之中。
  • Cookie可以包含在请求中,一起发给服务器。这个值也只能设为true
  • 如果服务器不要浏览器发送Cookie,删除该字段即可。如果access-control-allow-origin为*,当前字段就不能为true

到了这里,关于常见的http请求头以及响应头的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HTTP常用请求头和响应头有哪些?

    一、什么是http 超文本传输协议( Hypertext Transfer Protocol ,HTTP)的请求和响应消息中,协议头部分的那些组件。用来准确描述正在获取的资源、服务器或者客户端的行为,定义了HTTP事务中的具体操作参数。 二、什么是http消息头 客户端请求(Request)或服务器响应(Response)时

    2024年02月08日
    浏览(36)
  • http 请求报文响应报文的格式以及Token cookie session 区别

    HTTP 请求报文和响应报文的格式如下: HTTP 请求报文格式: 方法 : 请求方法,例如 GET、POST、PUT、DELETE 等。 路径 : 请求的路径,表示需要访问的资源。 协议版本 : 使用的协议版本,通常是 HTTP/1.1 或 HTTP/2。 请求头部字段:包含了关于请求的附加信息,每个字段由字段名和对

    2024年02月16日
    浏览(40)
  • SpringMVC进阶:常用注解、参数传递和请求响应以及页面跳转

    目录 一、常用注解 1.1.@RequestMapping 1.2.@RequestParam 1.3.@ModelAttribute 1.4.@SessionAttributes 1.5.@RequestBody 1.6.@RequestHeader 1.7.@PathVariable 1.8.@CookieValue 二、参数传递 2.1.基础类型+String 2.2.复杂类型 2.3.@RequestParam 2.4.@PathVariable 2.5.@RequestBody 2.6.@RequestHeader 三、返回值 3.1.void 3.2.String 3.3.String+Mod

    2024年02月09日
    浏览(28)
  • 【HTTP】URL结构、HTTP请求和响应的报文格式、HTTP请求的方法、常见的状态码、GET和POST有什么区别、Cookie、Session等重点知识汇总

    目录 URL格式 HTTP请求和响应报文的字段? HTTP请求方法 常见的状态码 GET 和 POST 的区别 Cookie 和 Session ? :是用来分割URL的主体部分(通常是路径)和查询字符串(query string)查询字符串是一组键值对的参数 query string :是键值对的结构,分割键值对,=分割键和值 Content-Type

    2024年02月07日
    浏览(39)
  • 记一次线上bug排查-----SpringCloud Gateway组件 请求头accept-encoding导致响应结果乱码

           基于公司的业务需求,在SpringCloud Gateway组件的基础上,写了一个转发服务,测试开发阶段运行正常,并实现初步使用。但三个月后,PostMan请求接口,返回异常,经排查,从日志中获取到转发响应的结果为乱码:        跟踪日志: 转发到目标接口,响应结果已乱码

    2024年02月04日
    浏览(42)
  • uview2.0封装http请求实战以及常见请求传参实录

         1.前言      2.使用步骤          2.1 配置请求拦截器以及api集中管理配置          2.2 main.js中进行引入请求拦截器          2.3 页面中引入请求方法并使用     uview2.0是uniapp开发中使用频率相对来讲比较高的一款框架,今天从实战角度介绍一下关于http请求

    2023年04月26日
    浏览(26)
  • http请求常用类型及各类型常见传参形式

    一、get类型 形式:http://ip:port/path?key1=value1key2=value2 如一些页面列表查询  二、3种常用post类型 post的请求参数需要放在body里,不能在浏览器上直接访问,根据传参形式不同主要有3种 1、参数同get接口一样,格式为key1=value1key2=value2 如一些页面列表查询  2、参数为json格式 这类参

    2023年04月21日
    浏览(25)
  • Crow:run的流程3 接受http连接请求do_accept

    Crow:run的流程2 建立io_service及线程-CSDN博客 介绍了run的Crow会启动一个线程并用于处理do_accept。 那么do_accept本身是做什么的呢? 用于根据当前处理任务的数量多少,从io_service池取出一个is,也就相当于是从线程池中取出一个线程(因为每个线程阻塞在一个io_service上)。 然后将

    2024年02月03日
    浏览(30)
  • `accept` 是一个 HTTP 请求头字段,用于指定客户端可接受的内容类型

    accept 是一个 HTTP 请求头字段,用于指定客户端可接受的内容类型。在 JavaScript 中,可以使用 fetch API 发送带有 Accept 头的请求。例如: 续写 当然可以,以下是一些关于 accept 请求头的更多信息: 使用不同的内容类型 除了 application/json ,你还可以使用其他内容类型来指定客户

    2024年02月22日
    浏览(36)
  • Nodejs基础6之HTTP模块的获取请求行和请求头、获取请求体、获取请求路径和查询字符串、http请求练习、设置HTTP响应报文、http响应练习

    含义 语法 重点掌握 请求方法 request.method * 请求版本 request.httpVersion 请求路径 request.url * URL 路径 require(‘url’).parse(request.url).pathname * URL 查询字符串 require(‘url’).parse(request.url, true).query * 请求头 request.headers * 请求体 request.on(‘data’, function(chunk){}),request.on(‘end’, functio

    2024年02月20日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包