详解XMLHTTP中setRequestHeader方法和参数

setRequestHeader("Content-type", "application/x-www-form-urlencoded");

setRequestHeader("Content-length", paramsSend.length);

setRequestHeader("Connection", "close");

一、为何要用到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方法

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

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

详解XMLHTTP中setRequestHeader方法和参数相关推荐

  1. python expandtabs_详解Python中expandtabs()方法的使用

    详解Python中expandtabs()方法的使用 expandtabs()方法返回制表符,即该字符串的一个副本. '\t'已经使用的空间,可选择使用给定的tabsize(默认8)扩展. 语法 以下 ...

  2. java中的values函数_详解java 中valueOf方法实例

    case1:Object 对象转String 需要强调的是String.valueOf()方法,当参数为类型是object,且值时null的时候他的处理方式public static String v ...

  3. python中init函数详解_Python 中__init__函数以及参数self

    Java网站链接:Java全栈工程师 | 以实例驱动学习 | how2j.cn 1)class类包含: 类的属性:类中所涉及的变量 类的方法:类中函数 2) __init函数(方法) 1.带有两个下划 ...

  4. 详解python中readlines函数的参数hint

    readlines的帮助信息 >>> fr=open('readme.txt') >>> help(fr.readlines) Help on built-in f ...

  5. 详解Spring中getBean()方法

    我们日常会经常使用getBean()方法从spring容器中获取我们需要的bean.那么,getBean()方法是怎么一步步完成从spring容器中获取bean的呢? 下面我们就通过源码分析一下. 一 ...

  6. 详解JavaScript中shift()方法的使用

    定义和用法 shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值. 语法 arrayObject.shift() 返回值 数组原来的第一个元素的值. 说明 如果数组是空的,那么 ...

  7. 详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析]

    目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumen ...

  8. 详解SpringMVC中Controller的方法中参数的工作原理[附带源码分析] good

    目录 前言 现象 源码分析 HandlerMethodArgumentResolver与HandlerMethodReturnValueHandler接口介绍 HandlerMethodArgumen ...

  9. tomcat7修改内存 win_详解Windows下调整Tomcat启动参数的实现方法

    Windows下调整Tomcat启动参数 Tomcat默认可以使用的内存为128MB,对于访问数比较多.比较吃内存的应用来说,这是不够的.我们可以通过调整Java虚拟机的启动参数来增加Tomcat可使 ...

最新文章

  1. joc杂志影响因子2019_2019年放射学领域SCI主要杂志影响因子汇总
  2. Selenium + Nightwatch 自动化测试环境搭建
  3. [case39]聊聊jdk httpclient的executor
  4. 异步请求中jetty处理ServletRequestListener的坑
  5. mysql 关闭in自动排序_为什么MySQL的in查询会自动排序
  6. R语言学习笔记(七)方差分析
  7. Mobile Phone Network CodeForces - 1023F(并查集lca+修改环)
  8. 2021-2025年中国充气救生衣行业市场供需与战略研究报告
  9. linux-jmeter负载机配置记录
  10. linux 线程和进程优先级,c – 在linux中更改线程优先级和调度程序
  11. 我和一位快递小哥的故事
  12. formData上传音乐文件
  13. Ubuntu 20.04 Install Navicat
  14. 基于python 爬虫的数据库设计开题报告_基于博容舆情分析的Python爬虫系统的设计与应用开题报告...
  15. Head First Java习题练习(二)
  16. Windows历史版本下载
  17. python list diff_Python List交集,并集,差集的应用
  18. idea 断点线程_在IntelliJ IDEA中多线程并发代码的调试方法详解
  19. IPC编程C语言,4. UNIX Domain Socket IPC
  20. Error: mkl-service + Intel(R) MKL: MKL_THREADING_LAYER=INTEL is incompatible with libgomp.so.1 libra

热门文章

  1. 体验IntelliJ IDEA的远程开发(Remote Development)
  2. 蓝桥杯填空题技巧【教你十秒快速做出填空题】
  3. 中国大学mooc网上C++第十二周作业3
  4. java索引图片,使用Lire索引并搜索图片
  5. 【Bugs系列】lvalue required as unary ‘’ operand
  6. 用粉末冶金制造抗磨轴承的方法
  7. 华为2017年实习面试面经(研发类)
  8. Meetup 回顾|Data Infra 研究社第十期(含资料发布)
  9. HTML5应用开发普及,浏览器或将取代应用商店
  10. 算符优先分析 优先函数