• XMLHTTP中setRequestHeader方法和参数


    注意:在FF里面需要将open方法放在setRequestHeader之前

    一、为何要用到setRequestHeader
    通 常在HTTP协议里,客户端像服务器取得某个网页的时候,必须发送一个HTTP协议的头文件,告诉服务器客户端要下载什么信息以及相关的参数。而 XMLHTTP 就是通过HTTP协议取得网站上的文件数据的,所以也要发送HTTP头给服务器。 但是 XMLHTTP 默认的情况下有些参数可能没有说明在HTTP头里,这是当我们需要修改或添加这些参数时就用到了
    setRequestHeader 方法。


    二、setRequestHeader参数详解
    使用GET下列参数 XMLObject.setRequestHeader ("CONTENT-TYPE", "application/x-www-form-urlencoded" )
    代表的意义:

    GET /bb.asp?www=1234 HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    UA-CPU: x86
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
    CONTENT-TYPE:application/x-www-form-urlencoded
    Host:ourys.com
    Connection: close
    Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII

     

    注:
    1、CONTENT-TYPE:application/x-www-form-urlencoded含义是表示客户端提交给服务器文本内容的编码方式 是URL编码,即除了标准字符外,每字节以双字节16进制前加个“%”表示

    2、当然还有其他编码方式,如:CONTENT-TYPE:multipart/form-data
    至于:Content-length 就是表示提交的数据字节大小
    http有几种提交方式,其中比较常用的就是 GET 和 POST

    3、这个标志就放在HTTP头开头的地方,这样讲容易理解点
    GET 方式是没有提交内容的,所以 Content-length 在 GET 模式下是无效的.
    GET 传参数的方式就是通过虚拟地址传送,如:
    GET /bb.asp?www=1234 HTTP/1.1
    参数全部就只有 "www=1234" 这么多

    4、如果用POST的话就有些不同,POST是将参数放到HTTP后面的,就以上面的HTTP作范例,用POST的方法传参数

    POST /bb.asp HTTP/1.1
    Accept: */*
    Accept-Language: zh-cn
    UA-CPU: x86
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
    CONTENT-TYPE:application/x-www-form-urlencoded
    Host: ourys.com
    Content-length: 8
    Connection: close
    Cookie: %C3%F7%CC%EC=%B0%CB;ASPSESSIONIDASDBSDRR=BLEDBIBBCGKBJAKJCFEJKGII

    www=1234

    这时,数据就需要说明字节大小了

    至于 Connection: Close,很明显英文的意思是 连接:关闭
    只是客户端在提交数据时告诉服务器让谁先关闭连接而已。

    三、PS:
    setRequestHeader方法只是XMLHTTP为添加或修改HTTP头提供的一个接口方法而已,
    至于里面的值则是HTTP协议的含义,当然也可以发自己的东西进去,即使IIS不能识别你的信息也不会报错
    如:
    setRequestHeader ("MyName", "Supermanking" )

    虽然IIS不会报错,但这个信息也可以有用,可以在ASP程序里读取HTTP头信息分析是否有
    MyName: Supermanking
    信息,可根据你的需求来做处理.

  • 相关阅读:
    国内开源缺陷管理系统PPM Bug v1.0发布
    LUA、python、注册表和正则表达式简述
    精通Windows API 线程同步控制源码
    博士生传给硕士生的经验 (转载)这实在是一篇少走许多学习弯路的好文章
    得到任务管理器的正在执行的程序列表 系统的临时路径及临时文件绝对路径
    创建设一个开机自动运行的计划任务,并且命名和当前登陆用户名相关
    刚踏实入IT行业几个月感悟
    给IT新人的15点建议:苦逼程序员的辛酸反省与总结
    char转换成WCHAR简单方法
    字符操作、文件操作和CMD命令的使用——c/c++编
  • 原文地址:https://www.cnblogs.com/Raywang80s/p/3195758.html
Copyright © 2020-2023  润新知