Request URL:http://localhost:8080/test.jhtml
Request Method:POST
Status Code:200 OK
Remote Address:[::1]:8080
Referrer Policy:no-referrer-when-downgrade

//用于过滤referrer,判断是否传递refrerer报头内容
//默认值no-referrer-when-downgrade表示当从http-->https 时,允许传递referer报头内容;当从https--->http时,不允许传递referer报头内容

Response Headers view source

Access-Control-Allow-Credentials:true

//Access-Control-Allow-Credentials 属于响应方的响应报头,表示响应方是否允许将请求回来的response暴露在页面上,true表示允许,其他值表示不允许
//响应报头 服务端可以使用这种方式来设置 response.setHeader("Access-Control-Allow-Credentials", "true")

Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept

//响应报头 Access-Control-Allow-Headers 指明了实际请求中允许request header 携带的字段

Access-Control-Allow-Methods:POST, GET, OPTIONS, DELETE

//响应报头 指定访问资源允许的请求方法

Access-Control-Allow-Origin:http://localhost:8080

//响应报头 指定响应资源允许被哪个域引用,多个域之间用,隔开;*表示此资源允许被所有域引用

Access-Control-Max-Age:3600

//响应报头 表示Access-Control-Allow-Headers和Access-Control-Allow-Methods 返回的结果可以被缓存多久,单位是秒

Content-Type:application/json;charset=UTF-8

//实体报头 Content-Type属于实体报头,表示发送端(客户端|服务端)发送的实体数据类型
//application/json;charset=UTF-8 服务端返回给客户端的数据类型是json格式,编码格式是utf-8

Location: /test/testRequest.jhtml

//响应报头 指定的是一个重定向请求的目的地址(或者新创建的文件的URL)
//一般伴随重定向请求出现,状态码一般以3开头或者是201

Date:Tue, 27 Feb 2018 05:51:48 GMT

//通用报头 格林尼治标准时间,表示报文是什么时间创建的

Server:Apache-Coyote/1.1

//响应报头 说明原始服务器的软件信息,可以包含多个产品标识和注释,产品标识一般按照重要性排序。

Set-Cookie:key=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Set-Cookie:key=value; Path=/
Set-Cookie:JSESSIONID=7EE63E4C782506A59347EE9CA28C7798; Path=/; HttpOnly

//响应报头 用于服务端向客户端发送cookie信息
//HTTP-only类型的Cookie不能使用Javascript通过Document.cookie属性或者$.cookie()方法来访问,从而能够在一定程度上阻止跨域脚本攻击(XSS)。
//当你不需要在JavaScript代码中访问你的Cookie时,可以将该Cookie设置成HttpOnly类型

Transfer-Encoding:chunked

//chunked指HTTP/1.1支持的一种数据传输方式,叫做分块编码传输技术
//对于持续链接来说,当响应实体的内容长度不能确定时,可以使用分块编码的传输方式来界定实体的边界
//使用chunked分块编码传输技术,响应实体将被分成很多块,每一块的格式: 十六进制的长度值/r/n数据/r/n , 最后结尾的一块是0/r/n/r/n

Request Headers view source

Accept:application/json, text/javascript, */*; q=0.01

//Accept 表示发送端(客户端)希望接受的响应数据类型
//application/json 表示此请求优先接受的响应数据类型是json类型,其次是javascript类型,然后才是所有类型
//请求方的http报头类型:通用报头||请求报头||实体报头
//响应方的http报头类型:通用报头||响应报头||实体报头
//Accept属于请求报头,表示发送端(客户端)希望接受的响应数据类型
//Content-Type属于实体报头,表示发送端(客户端|服务端)发送的实体数据类型

Accept-Encoding:gzip, deflate, br

//Accept-Encoding 表示浏览器发送给服务端,告诉服务端它可以接受的编码类型
//默认是identity  Accept-Encoding : identity
//指定多个编码类型时,以q值的大小排优先级,q值越大,优先级越高
//Accept-Encoding : compress;q=0.5, gzip;q=1.0 按优先级支持gzip,compress
//Accept-Encoding : * 支持所有类型
//除非显示规定identity的q值是0,如 Accept-Encoding : identity;q=0,否则identity类型始终在Accept-encoding支持的类型之内。q=0表示不可接受
//如果没有q值的定义并且支持的类型中有identity则优先返回identity类型
//如果request header里面没有定义Accept-Encoding,服务器会默认所有类型都可以被接受
//如果服务器不能返回规定的Accept-Encoding类型,则会返回406给客户端

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

//Accept-Language 表示客户端声明的它可以理解的自然语言以及优先选择的区域方言。服务端接收到这个声明,会从Accept-Language的选项中选一个然后使用Content-Language来响应通知客户端

Connection:keep-alive

//此参数决定当前事物完成之后,是否关闭连接网络连接。Keep-alive表示持续保持连接不关闭

Content-Length:0

//属于实体报头,表示发送方(客户端|服务端)发送给接收方(客户端|服务端)的消息主体的大小

Cookie:key1=value1; key2=value2;

//关于cookie的详细解释可以参考这篇文章  https://www.cnblogs.com/andy-zhou/p/5360107.html

Host:localhost:8080
Origin:http://localhost:8080

//用于标记请求来源
//只用于post请求,跨域就一定会有
//只包含host,post等信息,不会暴露参数内容

Referer:http://localhost:8080/test.jhtml?page=pagename

//用于标记请求来源
//用于所有类型的请求
//暴露参数

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

//用户代理信息,使服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。

X-Requested-With:XMLHttpRequest

//用于判断这个http请求是传统的http同步请求还是http ajax 异步请求
//ajax 异步请求 XMLHttpRequest
//传统http同步请求 null
//前端可以通过xhr.setRequestHeader("X-Requested-With","XMLHttpRequest")
//服务端可以通过request.getHeader("X-Requested-With")拿到这个值做进一步的的验证

一个完整的http请求分析的更多相关文章

  1. 一个完整的Http请求

    一个完整的http请求,通常有以下7点: 1.建立tcp连接 2.web浏览器web服务器发送请求命令 3.web浏览器发送请求头信息 4.web服务器应答 5.web服务器发送应答信息 6.web服 ...

  2. 一个完整的 Web 请求到底发生了什么

    阅读本文大概需要 7 分钟. 一.从输入一个网址开始 当我们在浏览器输入一个网址,然后按下回车,接下来浏览器显示了页面.网速好的话这之间可能就一秒,但在这一秒内到底发生了什么? 本文主要内容是试图记录 ...

  3. 完整的http请求分析

    首先我们要明白什么是http. http:超文本传输协议(HTTP,HyperText Transfer Protocol). 超文本传输协议是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必 ...

  4. 一个完整的HTTP请求过程详细

    整个流程1.域名解析 —> 2.与服务器建立连接 —> 3.发起HTTP请求 —>4. 服务器响应HTTP请求,浏览器得到html代码 —> 5.浏览器解析html代码,并请求 ...

  5. 一个完整的http请求响应过程

    一. HTTP请求和响应步骤   图片来自:理解Http请求与响应 以上完整表示了HTTP请求和响应的7个步骤,下面从TCP/IP协议模型的角度来理解HTTP请求和响应如何传递的. 二.TCP/IP协 ...

  6. 一个完整的upstart脚本分析

    基本概念可以了解 http://www.mike.org.cn/articles/understand-upstart/ http://blog.fens.me/linux-upstart/ http ...

  7. 一个HTTP连接是包含两部分的,请求报文和响应报文这俩组合起来才是一次完整的HTTP请求,并不会单独显示请求报文或者响应报文

    一个HTTP连接是包含两部分的,请求报文和响应报文这俩组合起来才是一次完整的HTTP请求,并不会单独显示请求报文或者响应报文. 2.注意看,一次HTTP请求,是包括这两部分的

  8. 一个简单的wed服务器SHTTPD(2)———— 客户端请求分析

    //start from the very beginning,and to create greatness //@author: Chuangwei Lin //@E-mail:979951191 ...

  9. 【如何快速的开发一个完整的iOS直播app】(播放篇)

    原文转自:袁峥Seemygo    感谢分享.自我学习 前言 在看这篇之前,如果您还不了解直播原理,请查看上篇文章如何快速的开发一个完整的iOS直播app(原理篇) 开发一款直播app,集成ijkpl ...

随机推荐

  1. Qt学习--初学注意事项

    过程.心得: 1)Qt Creator与相关的安装包的安装 我在选择去学习Qt之后,第一件事就是Qt SDK下载安装与配置.最初,在网上发现Qt使用的IDE环境        在Windows上可以选 ...

  2. PHP 画图——使用jpgraph画图

     1.要支持中文须要用到simhei.ttf和simsun.ttc这两个字体,在使用中文的时候须要使用SetFont(FF_SIMSUN,FS_BOLD)设置字体. 将须要的字体放入到项目文件夹下 ...

  3. win10访问共享文件夹提示:引用的账户当前已锁定,且当前可能无法登陆

    最近一台电脑访问windows 2008 R2 server的共享文件夹.没有使用域环境. win10界面提示:引用的账户当前已锁定,且当前可能无法登陆. 登陆2008发现,该账户的确锁定.猜测可能该 ...

  4. [IT新应用]无线投影技术

    会议室内投影时,经常会有笔记本与投影仪之间因兼容性等无法切换的现象. 了解了下,无线投影方案的厂家大致如下: 1.http://www.taco.net.cn/ 2.巴可无线投影 https://ww ...

  5. 2016/3/27 分页 共X条数据 本页x条 本页从x-y条 x/y页 首页 上一页 123456 下一页 末页 pagego echo $page->fpage(7,6,5,4,3,2,1,0);

    显示效果: fpage.class.php <?php /** file: page.class.php 完美分页类 Page */ class Page { private $total; / ...

  6. Restrictions.or多个条件用法

    两个条件或查询: Restrictions.or(Restrictions.in("username",list1),Restrictions.idEq(1)); 三个或多个条件查 ...

  7. 设计模式-(6)适配器 (swift版)

    用来解决接口适配问题的三种模式:适配器模式,桥接模式,外观模式. 一,概念 适配器模式,将一个类的结构转换成用户希望的另一个接口,使得原本接口不兼容的类能在一起工作.换句话说,适配器模式就是链接两种不 ...

  8. Java String 和 new String()的区别

    Java String 和 new String()的区别 本文转自:http://www.cnblogs.com/heima-jieqi/archive/2012/04/10/2440086.htm ...

  9. KMP算法在字符串中的应用

    KMP算法是处理字符串匹配的一种高效算法 它首先用O(m)的时间对模板进行预处理,然后用O(n)的时间完成匹配.从渐进的意义上说,这样时间复杂度已经是最好的了,需要O(m+n)时间.对KMP的学习可以 ...

  10. pybot执行多条用例时,某一个用例执行失败,停止所有用例的执行

    问题: pybot执行多条用例时,某一个用例执行失败,停止所有用例的执行 解决办法: pybot -exitonfailure E:\robot\呼送项目\测试用例\基本流程\主流程.txt 参考文章 ...