一、内容协商

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. 洛谷P3569 [POI2014]KAR-Cards(线段树)

    传送门 蠢了…… 我们用线段树,记$w0$为该区间最左端取小值时,最右端最小能取大还是小还是无解,$w1$表示最左端取大值时,最右端最小能取大还是小还是无解 然后只要把交换看做修改就好了 这么说可能很 ...

  2. python中threading中的lock类

    虽然线程可以在程序的执行过程中提高程序的运行效率,但是其带来的影响却难以忽略. Lock类是threading中用于锁定当前线程的锁定类.顾名思义,其作用是对当前运行中的线程进行锁定,只有当前线程被释 ...

  3. setsockopt()函数功能介绍

    功能描述: 获取或者设置与某个套接字关联的选 项.选项可能存在于多层协议中,它们总会出现在最上面的套接字层.当操作套接字选项时, 选项位于的层和选项的名称必须给出.为了操作套接字层的选项,应该 将层的 ...

  4. docker保存对容器的修改

    我有一个Ubuntu的镜像用命令docker run -i -t -v /home/zzq/app/:/mnt/software/ 0ef2e08ed3fa /bin/bash登录进去发现没vi编辑器 ...

  5. python之计数统计

    前言: 计数统计,简单的说就是统计某一项出现的次数.实际应用中很多需求都需要用到这个模型,如检测样本中某一值出现的次数.日志分析某一消息出现的频率.分析文件中相同字符串出现的概率等等.以下是实现的不同 ...

  6. CF1119F Niyaz and Small Degrees

    题意 给你\(n\)个点的树,边有边权 问使得所有的点度数都小于等于\(x\)的最小删边的代价 \([x \in 0...n-1]\) 题解 首先对于每个\(x\) 可以有一个\(O(nlogn)\) ...

  7. Hdu 3289 Rain on your Parade (二分图匹配 Hopcroft-Karp)

    题目链接: Hdu 3289 Rain on your Parade 题目描述: 有n个客人,m把雨伞,在t秒之后将会下雨,给出每个客人的坐标和每秒行走的距离,以及雨伞的位置,问t秒后最多有几个客人可 ...

  8. Lightoj 1071 - Baker Vai (双线程DP)

    题目连接: http://lightoj.com/volume_showproblem.php?problem=1071 题目大意: 一个n*m的格子,Baker Vai要从(1,1)到(n,m)再回 ...

  9. SSRS域账号下 User 'XXX' does not have required permissions的处理方法

    SSRS安装完成后,点击Report Manager URL,提示:User 'XXX' does not have required permissions. Verify that suffici ...

  10. ASP.NET CORE 使用 EF CORE访问数据库

    asp.net core通过ef core来访问数据库,这里用的是代码优先,通过迁移来同步数据库与模型. 环境:vs2017,win10,asp.net core 2.1 一.从建立asp.net c ...