一、内容协商的两种方式

每个 URI 指向的资源可以是任何事物,可以有多种不同的表述,例如一份文档可以有不同语言的翻译、不同的媒体格式、可以针对不同的浏览器提
供不同的压缩编码等

二、Proactive 主动式内容协商

三、Reactive 响应式内容协商

四、常见的协商要素

1、常见协商要素1

2、常见协商要素2

内容编码:主要指压缩算法

响应中的压缩方式

五、国际化与本地化

六、资源表述的元数据头部

六、cURL工具使用

1、--compressed 将结果解压缩

命令

curl 'https://www.baidu.com/' -H 'Connection: keep-alive' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: zh-CN,zh;q=0.9' -H 'Cookie: BDUSS=Y3Ty0zbFdRbTBIWWdlZ0UtRjZpOGNzdFFtVXVzNTJiemxXNzdyc1lNak45ZkJjSVFBQUFBJCQAAAAAAAAAAAEAAACumLcCbHVvYWhvbmcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM1oyVzNaMlcRH; A^`=1570252928jMyG000154233; BAIDUID=D3466420B11AEE8C6DCE1776E360E57C:FG=1; PSTM=1570252049; BIDUPSID=9ED37D1EFAB864BCB9197CD7637AB8CC; BD_UPN=12314353; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; H_PS_645EC=a521LDhJX1l%2BFB6jUNwQI7xetFq3k3%2FLeU6yK%2Fb70nZrV8c%2B%2FpIMx8OkrgfHWtqdpDC8; BD_HOME=1; H_PS_PSSID=1430_21124_29522_29720_29568_29220; sugstore=1' --compressed

运行结果

    bds.comm.dpquery="";
bds.comm.samSugApi=s_session.sid === "25219" ? 1 : 0;
var index_content = $('#head');
var index_foot= $('#ftCon');
var index_css= $('#style_super_inline');
var index_is_css = $('#s_is_index_css');
var index_css_content = index_css.html();
var index_u= $('#u_sp');
var result_u= $('#u');
window.index_links = [];
var result_head = $("#head");
window.index_on=function(){
s_session.index_off = false;
};
window.index_off=function(){
s_session.index_off = true;
$(document.body).attr('link', '#0000cc');
index_links = [];
$("head").find("link").each(function(){
index_links.push(this);
$(this).remove();
});
index_css.remove();
index_is_css.remove();
$('#head_wrapper').css('width','');
$('#kw').css('font-family','');
$('head').append($.decodeHTML($('#s_index_off_css').html()));
$('head').append($.decodeHTML($('#s_is_result_css').html()));
$('.s-tips-skin').remove();
$('.s-skin-container').remove();
$('#s_mancard_newmusic').remove();
};

2、去掉--compressed 结果是二进制文件

curl 'https://www.baidu.com/' -H 'Connection: keep-alive' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'Upgrade-Insecure-Requests: 1' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3' -H 'Accept-Encoding: gzip, deflate, br' -H 'Accept-Language: zh-CN,zh;q=0.9' -H 'Cookie: BDUSS=Y3Ty0zbFdRbTBIWWdlZ0UtRjZpOGNzdFFtVXVzNTJiemxXNzdyc1lNak45ZkJjSVFBQUFBJCQAAAAAAAAAAAEAAACumLcCbHVvYWhvbmcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAM1oyVzNaMlcRH; A^`=1570252928jMyG000154233; BAIDUID=D3466420B11AEE8C6DCE1776E360E57C:FG=1; PSTM=1570252049; BIDUPSID=9ED37D1EFAB864BCB9197CD7637AB8CC; BD_UPN=12314353; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; H_PS_645EC=a521LDhJX1l%2BFB6jUNwQI7xetFq3k3%2FLeU6yK%2Fb70nZrV8c%2B%2FpIMx8OkrgfHWtqdpDC8; BD_HOME=1; H_PS_PSSID=1430_21124_29522_29720_29568_29220; sugstore=1'

截图如下

3、去掉头部的压缩-H 'Accept-Encoding: gzip, deflate, br'

Web协议详解与抓包实战:HTTP1协议-内容协商是怎样进行的(8)的更多相关文章

  1. Web协议详解与抓包实战,高效解决网络难题

    无论你是前后端工程师,还是运维测试,如果想面试更高的职位,或者要站在更高的角度去理解技术业务架构,并能在问题出现时快速.高效地解决问题,Web 协议一定是你绕不过去的一道坎. 旨在帮助你对各种常用 W ...

  2. Web协议详解与抓包实战:HTTP1协议-如何用Chrome的Network面板分析HTTP报文(1)

    一.Chrome 抓包:Network 面板 1. Network 面板 • 控制器:控制面板的外观与功能 • 过滤器:过滤请求列表中显示的资源 • 按住 Command (Mac)或 Ctrl (W ...

  3. Web协议详解与抓包实战:HTTP1协议-HTTP 响应行(3)

    一.HTTP 响应行 二.响应码分类:1xx 三.响应码分类: 2xx 1. 201 Created: 有新资源在服务器端被成功创建 2.207 Multi-Status:RFC4918 ,在 WEB ...

  4. Web协议详解与抓包实战:HTTP1协议-请求与响应的上下文(7)

    一.请求的上下文: User-Agent 指明客户端的类型信息,服务器可以据此对资源的表述做抉择 二.请求的上下文: Referer 浏览器对来自某一页面的请求自动添加的头部 截图2 这对于我们的防盗 ...

  5. Web协议详解与抓包实战:HTTP1协议-如何传递 IP 地址?(6)

    一.HTTP消息在服务器端的路由 Host 头部 规范与实现间是有差距的 二.代理服务器转发消息时的相关头部 1.Host 头部与消息的路由 2.客户端与源服务器间存在多个代理 三.如何传递 IP 地 ...

  6. Web协议详解与抓包实战:HTTP1协议-如何管理跨代理服务器的长短连接?(4)

    一.HTTP 连接的常见流程 二.从 TCP 编程上看 HTTP 请求处理 三.短连接与长连接 四.Connection 仅针对当前连接有效 五.代理服务器对长连接的支持 未设置代理服务器 设置代理 ...

  7. Web协议详解与抓包实战:HTTP1协议-详解请求行(2)

    一.请求行一 二.请求行二 三.请求行三 四.常见方法(RFC7231) 实际测试截图 五.用于文档管理的 WEBDAV 方法(RFC2518) 六.WEBDAV 验证环境  1.登录  2.Wire ...

  8. Fidder详解之抓包

    前言 本文是博主发表的第一篇文章,如有傻逼之处,请大家见谅.最近遇到很多人说接口相关的问题,比如:什么是接口,我该怎么做接口测试,还有我总是抓不到APP上的https请求(这个巨坑,不知道坑了多少小白 ...

  9. TCP、UDP详解与抓包工具使用

    参考:https://www.cnblogs.com/HPAHPA/p/7737641.html TCP.UDP详解 1.传输层存在的必要性 由于网络层的分组传输是不可靠的,无法了解数据到达终点的时间 ...

随机推荐

  1. 为什么Linux 普通用户在虚拟机界面可以reboot 用ssh 不能reboot

    应该是有 类似的权限控制. 如果是 localhost , 那么普通用户允许重启. 如果不是localhost,  比如ssh远程的,必须验证root权限.

  2. eclipse查看一个方法被谁调用的快捷键

    我们知道,在idea中是可以通过[ctrl+鼠标左键单击]去跳到方法调用方去的,但是在eclipse中却是不行的. 三种快捷键方式 这里列出在eclipse中查看一个方法被谁调用的三种方式(快捷键). ...

  3. Lambda 表达式构建初级示例(不完整)

    直接贴代码了: using System; using System.Collections.Generic; using System.Linq; using System.Linq.Express ...

  4. virsh 查看信息

    获取域网络接口信息 virsh domiflist debian8 获取vcpu信息 virsh vcpuinfo debian8 设定内存最大内存 virsh setmaxmem debian8 9 ...

  5. 【09】Nginx:静态压缩 / 日志切割 / 防盗链 /恶意解析/ 跨域

    写在前面的话 上一节我们谈了关于 nginx 服务器的一些简单的安全优化问题,能够帮助我们解决一部分线上服务存在的安全隐患.但是想要提升用户体验这是原因不够的,我们还需要从服务的优化方面入手. 本节更 ...

  6. NET 判断是否为回文

    比如: 12321,第一位等于第五位,第二位等于第四位 /// <summary> /// 判断是否为回文 /// 比如:12321,第一位等于第五位,第二位等于第四位 /// </ ...

  7. SpringBoot+vue整合websocket

    0.引言 这里我先说下,网上对于websocket的解释有一堆不懂自己查,我这就不做原理解释,只上代码. 1.SpringBoot引入websocket maven 依赖 <dependency ...

  8. AD读取Excel新建客户邮箱的测试环境部署有感

    现有AD的账户操作所有服务几乎用WebApi方式,此 方法是便于搭建和部署,做到了前后端的分离 ,其中验证Exchange邮箱转发模块时发现foxmail的exchange本地邮箱配置极其简单,以此记 ...

  9. 「白帽挖洞技能提升」ThinkPHP5 远程代码执行漏洞-动态分析

    ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,在保持出色的性能和至简代码的同时,也注重易用性.但是简洁易操作也会出现漏洞,之前ThinkPHP官方修复了一个严重的远程代码执行漏 ...

  10. [Linux] nginx的try_files指令实现隐藏index.php的重写

    1.nginx的try_files指令 ,核心功能是替代rewrite,并且比rewrite更强大的是可以按顺序查找文件是否存在,如果文件都找不到才会执行最后的重定向解决的问题是,如果一个网站的部署是 ...