http主要请求头
一、内容协商
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主要请求头的更多相关文章
- js获取HTTP的请求头信息
以下为js获取HTTP的全部请求头信息: var req = new XMLHttpRequest(); req.open('GET', document.location, false); req. ...
- 在AngularJs中怎么设置请求头信息(headers)及不同方法的比较
在AngularJS中有三种方式可以设置请求头信息: 1.在http服务的在服务端发送请求时,也就是调用http()方法时,在config对象中设置请求头信息:事例如下: $http.post('/s ...
- Retrofit2 + OkHttp3设置Http请求头(Headers)方法汇总
在构建网络层时会遇到一个问题就是要手动配置Http请求的Headers,写入缓存Cookie,自定义的User-Agent等参数,但是对于有几十个接口的网络层,我才不想用注解配置Headers,目前网 ...
- selenium.Phantomjs设置浏览器请求头
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCap ...
- iOS开发——网络篇——文件下载(NSMutableData、NSFileHandle、NSOutputStream)和上传、压缩和解压(三方框架ZipArchive),请求头和请求体格式,断点续传Range
一.小文件下载 NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/resources/images/minion ...
- AFNetworking请求设置请求头
NSString *url = @"INPUT URL HERE"; AFHTTPRequestOperationManager *manager = [AFHTTPRequest ...
- Servlet请求头response应用简单案例
Servlet请求头response应用简单案例:访问AServlet重定向到BServlet,5秒后跳到CServlet,并显示图片: AServlet package cn.yzu; import ...
- HTTP请求头详解
http://blog.csdn.net/kfanning/article/details/6062118 HTTP由两部分组成:请求和响应.当你在Web浏览器中输入一个URL时,浏览 器将根据你的要 ...
- HTTP协议及其请求头分析
HTTP协议及其请求头分析 HTTP协议及其请求头分析 众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP.Archie Gopher等是建立在TCP/IP协议之上的应用 ...
- request获取请求头和请求数据
package cn.itcast.request; import java.io.IOException; import java.io.InputStream; import java.io.Pr ...
随机推荐
- ubuntu12.04向左边栏添加图标(引用)
转自:http://forum.ubuntu.com.cn/viewtopic.php?f=86&t=317442 打开想添加的软件,图标会出现在侧边栏,右击之,点Keep In Launch ...
- ubuntu安装IDEA和PYCHARM
IDEA和PYCHAR的下载以及安装步骤一样. 1.下载免费学习版本(Community) 2.解压文件到opt文件夹下面sudo tar -zxvf xxx -C /opt 3.进入解压之后的bin ...
- spoj 962 IM - Intergalactic Map【最大流】
因为是无向图,所以从1到2再到3等于从2到1和3.用拆点来限制流量(i,i+n,1),然后连接(s,2+n,1),(1,t,1),(3,t,1),对于原图中的边连接(x+n,y,1)(y+n,x,1) ...
- thinkphp数据库查重方法
$test_data = M('hot'); //实例化数据表 $data = $test_data->Distinct(true)->field('descriprion')->o ...
- 百度地图API详细介绍
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <t ...
- mybatis 批量insert,update报错 The error occurred while setting parameters
数据脚本执行正常,但是报错,搜索关键信息 The error occurred while setting parameters ,发现了解决帖子: http://blog.csdn.net/jing ...
- [Usaco2006 Jan] Dollar Dayz 奶牛商店
Description 约翰到奶牛商场里买工具.商场里有K(1≤K≤100).种工具,价格分别为1,2,-,K美元.约翰手里有N(1≤N≤1000)美元,必须花完.那他有多少种购买的组合呢? Inpu ...
- Codeforces Round #459 (Div. 2)C. The Monster
C. The Monster time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- Arrays.asList()后调用add,remove这些method时出现java.lang.UnsupportedOperationException异常
String[] queryNames = request.getParameterValues("queryName"); List<String> queryNam ...
- 比较C#中几种常见的复制字节数组方法的效率[转]
[原文链接] 在日常编程过程中,我们可能经常需要Copy各种数组,一般来说有以下几种常见的方法:Array.Copy,IList<T>.Copy,BinaryReader.ReadByte ...