zoukankan      html  css  js  c++  java
  • 一个完整的http请求分析

    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")拿到这个值做进一步的的验证

  • 相关阅读:
    拷贝目录下文件,但某种类型文件例外
    编译个性化的openwrt固件
    -exec和|xargs
    OpenMP多线程linux下的使用,简单化
    clock_gettime的使用,计时比clock()精确
    openvswitch安装和使用 --修订通用教程的一些错误
    树莓派配置AP模式
    win7下的mstsc ubuntu下的rdesktop
    微信小程序-商品列表左=>右联动
    Vue.js最佳实践(五招让你成为Vue.js大师)
  • 原文地址:https://www.cnblogs.com/carolddz/p/8479574.html
Copyright © 2011-2022 走看看