一、内容协商

1、Accept:希望服务器返回的数据格式,如下面的:text/javascript, application/javascript, application/ecmascript, application/x-ecmascript

q=0.01表示优先级,参数越高表示浏览器对这种数据格式越支持,没有带q值默认q=1

Accept: text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01

2、Accept-Charset:希望服务器返回的字符集,q值同上,备注:utf-8;q=0.7为一组,表示utf-8的优先级为0.7

Accept-Charset: ISO--,gb2312,utf-;q=0.7,*;q=0.3

3、Accept-Language:希望服务器返回的语言

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

4、Accept-Encoding:希望服务器返回的压缩格式

Accept-Encoding: gzip, deflate, br

二、缓存控制

1、If-None-Match:服务器使用md5等哈希函数对内容进行计算得出摘要返回给浏览器,下次浏览器请求服务器时会将该摘要放在If-None-Match带过去,服务器对最新的内容进行哈希计算得出新的摘要和浏览器带过来的摘要进行对比,如果一致,则返回304让浏览器从缓存中获取内容

2、If-Modified-Since:服务器将数据的最新修改时间返回给浏览器,下次浏览器请求服务器时会将该修改时间放在If-Modified-Since中带到服务器中,服务器对比数据最新的修改时间和浏览器带过来的时间,如果一致,则返回304

3、If-Match:服务器使用md5等哈希函数对内容进行计算得出摘要返回给浏览器,下次浏览器请求服务器时会将该摘要放在If-Match带过去,服务器对最新的内容进行哈希计算得出新的摘要和浏览器带过来的摘要进行对比,如果一致,则修改内容,不一致,证明内容已经被其他人修改了,则不能对该内容进行修改

4、If-Unmodified-Since:服务器将数据的最新修改时间返回给浏览器,下次浏览器请求服务器时会将该修改时间放在If-Unmodified-Since中带到服务器中,服务器对比数据最新的修改时间和浏览器带过来的时间,如果一致,则修改内容,不一致,证明内容已经被其他人修改了,则不能对该内容进行修改

5、If-Range

三、其他常用头

1、User-Agent:告诉服务器,浏览器当前的系统及相关信息

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

2、Referer:用于请求跟踪,告诉服务器,当前页面是从哪一个页面跳转过来的

Referer: https://www.baidu.com

3、Host:请求是客户端的域名

Host: www.baidu.com

4、Connection: Keep-Alive  浏览器和服务器建立一个长连接,避免多次三次握手和四次挥手造成低效连接

http主要请求头的更多相关文章

  1. js获取HTTP的请求头信息

    以下为js获取HTTP的全部请求头信息: var req = new XMLHttpRequest(); req.open('GET', document.location, false); req. ...

  2. 在AngularJs中怎么设置请求头信息(headers)及不同方法的比较

    在AngularJS中有三种方式可以设置请求头信息: 1.在http服务的在服务端发送请求时,也就是调用http()方法时,在config对象中设置请求头信息:事例如下: $http.post('/s ...

  3. Retrofit2 + OkHttp3设置Http请求头(Headers)方法汇总

    在构建网络层时会遇到一个问题就是要手动配置Http请求的Headers,写入缓存Cookie,自定义的User-Agent等参数,但是对于有几十个接口的网络层,我才不想用注解配置Headers,目前网 ...

  4. selenium.Phantomjs设置浏览器请求头

    from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCap ...

  5. iOS开发——网络篇——文件下载(NSMutableData、NSFileHandle、NSOutputStream)和上传、压缩和解压(三方框架ZipArchive),请求头和请求体格式,断点续传Range

    一.小文件下载 NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/resources/images/minion ...

  6. AFNetworking请求设置请求头

    NSString *url = @"INPUT URL HERE"; AFHTTPRequestOperationManager *manager = [AFHTTPRequest ...

  7. Servlet请求头response应用简单案例

    Servlet请求头response应用简单案例:访问AServlet重定向到BServlet,5秒后跳到CServlet,并显示图片: AServlet package cn.yzu; import ...

  8. HTTP请求头详解

    http://blog.csdn.net/kfanning/article/details/6062118 HTTP由两部分组成:请求和响应.当你在Web浏览器中输入一个URL时,浏览 器将根据你的要 ...

  9. HTTP协议及其请求头分析

    HTTP协议及其请求头分析 HTTP协议及其请求头分析   众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP.Archie Gopher等是建立在TCP/IP协议之上的应用 ...

  10. request获取请求头和请求数据

    package cn.itcast.request; import java.io.IOException; import java.io.InputStream; import java.io.Pr ...

随机推荐

  1. patch用法 (转载)

    转载:http://shenze60.blog.163.com/blog/static/315747722009724113026896/ 首先介绍一下diff和patch.在这里不会把man在线文档 ...

  2. E20170521-ts

    redirect vt. 使改寄,更改(信件等)姓名地址; 改变方向,改变线路; 重新寄送; teletype   n. 电传打字机,电报交换机,打字电报通讯; descriptor n. 描述符; ...

  3. mybatis基础学习5-一对多和多对多(简写)

    1:建实体类 建mysql表

  4. 洛谷 P4011 孤岛营救问题【bfs】

    注意: 一个点可能有多把钥匙,所以把每个点有钥匙的情况状压一下 两个点之间有障碍的情况只给出了单向,存的时候记得存一下反向 b[i][j]表示当前点拥有钥匙的状态,g[x1][y1][x2][y2]表 ...

  5. shiro之IniRealm

    Shiro认证过程 创建SecurityManager--->主体提交认证--->SecurityManager认证--->Authenticsto认证--->Realm验证 ...

  6. ES的简单增删改查

    1.查看全部索引 GET:192.168.100.102:9200/_cat/indices 2.创建名为news的索引 PUT:192.168.100.102:9200/news 3.新增docum ...

  7. import android.support.v4或者import android.support.v7提示导入错误解决办法

    转自:  http://blog.csdn.net/forandever/article/details/37655139 在使用Eclipse开发andriod程序时,程序中提示import and ...

  8. jmeter(二)元件的作用域与执行顺序

    1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(conf ...

  9. 快速体验openstack-用devstack安装openstack

    官网安装说明: --2014年11月15日14:14:21 安装环境:Ubuntu12.04,安装官网的说明遇到了小问题,记录在这里 --http://docs.openstack.org/devel ...

  10. AJPFX关于java数组排序

    /**         *将数组中的两个指定下标的元素交换位置                   *@param arr 要交换元素的数组引用地址值         *@param a 数组索引  ...