请求传递的内容分析
通过打印的res内容可见, 一次访问共发送了两个请求(request是http.IncomingMessage的一个实例)
![]()
分析第一个请求详细参数(第二个类似): 

| 参数 | 含义(部分自己理解的) |
|---|---|
| _readableState | Readable对应于Java中的InputStream和Reader两个类,针对Readable设置encode编码可完成内部数据由Buffer到字符的转换。Readable Stream有两种模式,即flowing和paused模式。这两种模式对于用户而言区别在于是否需要手动调用。readableState中包含以上信息的具体状态设置信息。 |
| readable | 值为true或false,指定是否读取 |
| domain | 域名信息 |
| _events | 绑定的事件处理 |
| _eventsCount | 事件个数 |
| _maxListeners | 设置的最大监听者数目 |
| socket | 套接字,区分连接 |
| connection | 建立连接是触发,内容即是套接字 |
| httpVersionMajor | http的最大版本号 |
| httpVersionMinor | http的最小版本号 |
| httpVersion | http的版本号 |
| complete | 是否通信完成,值为true或false |
| headers | 请求头信息 |
| rawHeaders | 原请求头信息 |
| trailers | 请求后缀信息 |
| rawTrailers | 原请求后缀信息 |
| upgrade | 是否升级,值为true或false |
| url | 请求的url |
| method | 客户端请求的方法,get或post |
| statusCode | 请求状态码 |
| statusMessage | 请求状态信息 |
| client | 客户端信息 |
| _consuming | 消耗情况,值为true或false |
| _dumped | 释放情况,值为true或false |
继续展开下一层块内容进行分析:
- readableState

| 参数 | 含义 |
|---|---|
| objectMode | 是否有数据对象模型,值为true或false |
| highWaterMark | |
| buffer | 缓存信息 |
| length | 长度 |
| pipes | 管道流 |
| pipesCount | 管道数目 |
| flowing | flowing还是paused模式 |
| ended | 是否结束,值为true或false |
| endEmitted | 结束时是否有操作,值为true或false |
| reading | 是否读,值为true或false |
| sync | 是否异步,值为true或false |
| needReadable | 是否需要读取,值为true或false |
| emittedReadable | 是否执行读取操作,值为true或false |
| readableListening | 是否监听读取,readableListening |
| defaultEncoding | 默认字符编码 |
| ranOut | |
| awaitDrain | |
| readingMore | 是否读取更多,值为true或false |
| decoder | 解码信息 |
| encoding | 编码信息 |
- socket


| 参数 | 含义 |
|---|---|
| _connecting | 是否正在连接,值为true或false |
| _hadError | 是否处理错误,值为true或false |
| _handle | 一个处理 |
| _parent | 父信息 |
| _host | 主机 |
| _readableState | 读取状态 |
| readable | 是否读取 |
| domain | 域名信息 |
| _events | 事件 |
| _eventsCount | 事件个数 |
| _maxListeners | 最大监听数目 |
| _writableState | 写状态信息 |
| writable | 是否写入 |
| allowHalfOpen | 是否允许打开一半 |
| destroyed | 是否被破坏 |
| bytesRead | 字节读取 |
| _bytesDispatched | 获取字节 |
| _sockname | 套接字名称 |
| _pendingData | 缀余数据 |
| _pendingEncoding | 缀余数据编码 |
| server | 服务器信息 |
| _idleTimeout | 空闲超时设置 |
| _idleNext | 下一个空闲设置 |
| _idlePrev | 前一个空闲设置 |
| _idleStart | 空闲开始 |
| parser | 解析 |
| on | 所属函数 |
| _paused | 延时、暂停 |
| read | 读 |
| _consuming | 消耗 |
| _httpMessage | http信息 |
| ServerResponse | 服务器信息 |
由于socket内容很多和其他部分类似,所以这里与其他部分相似内容没有细说
- headers

| 参数 | 含义 |
|---|---|
| hosthost | 请求主机地址 |
| connection | 连接状态 |
| accept | 客户机所能接收的MIME类型,浏览器支持的编码和语言等信息 |
Request解析
请求报文 
实例: 
Request 对象在 HTTP 请求期间,检索客户端浏览器传递给服务器的值 。
语法格式: Request[.collection|property|method] (variable)
| 集合 | 描述 | 格式 |
|---|---|---|
| ClientCertificate | 存储在发送到 HTTP 请求中客户端证书中的字段值 | Request.ClientCertificate( Key[SubField] ) |
| Cookies | HTTP 请求中被发送的 cookie 的值 | Request.Cookies(cookie)[(key)或.attribute] |
| Form | HTTP 请求正文中表格元素的值 | Request.Form(element)[(index)或.Count] |
| QueryString | HTTP 中查询字符串中变量的值 | Request.QueryString(variable)[(index)或.Count] |
| ServerVariables | 预定的环境变量的值 | Request.ServerVariables (server environment variable) |
| 方法 | 描述 | 格式 |
|---|---|---|
| BinaryRead | 检索从客户端发送到服务器作为 POST 请求的一部分的数据 | Request.BinaryRead(count) |
| 属性 | 描述 |
|---|---|
| TotalBytes | 只允许读。指定客户端在请求正文中发送的字节总数 |
Response解析
响应报文 
实例: 
Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应。
语法格式:Response.collection|property|method
| 集合 | 描述 | 格式 |
|---|---|---|
| cookie | 指定 cookie 值。可以使用该集合设置 cookie 的值。 | Response.Cookies(CookieName)[(key)或.attribute]=value。 |
| 方法 | 作用 | 格式 |
|---|---|---|
| write | Write 方法可以向发往客户端浏览器的HTML 文件中直接输出信息 | Responser.Write 内容 |
| Redirect | Redirect 方法可以使浏览器从当前网页转向到其他网页 | Response.Redirect 路径 |
| End | End 方法可以结束程序的运行 | Response.End |
| Clear | Clear 方法用于清除缓冲区中的所有HTML输出,可以用来防止显示第二个页面时,第一个页面也显示出来。它把第一个页面从Buffer中清空了。但Clear 方法只清除响应正文而不清除响应标题。可以用该方法处理错误情况 | Response.Clear |
| Flush | Flush 方法可以立即发送缓冲区中的输出。如果没有将Response.Buffer 设置为True,该方法将导致运行时错误 | Response.Flush |
| AddHeader | AddHeader 方法用指定的值添加 HTML 标题。该方法常常向响应添加新的 HTTP 标题。它并不替代现有的同名标题。一旦标题被添加,将不能删除 | Response.AddHeader name, value |
| AppendToLog | AppendToLog 方法向Web服务器的日志条目的末尾添加一字符串。String为要添加到日志文件中的字符串 | Response.AppendToLog String |
| BinaryWrite | BinaryWrite 方法不经任何字符转换就将指定的信息写到 HTTP 输出。该方法用于写非字符串信息(如客户端应用程序所需的二进制数据) | Response.BinaryWrite data |
| 属性 | 描述 |
|---|---|
| Buffer | 缓冲一ActiveServerPage。回应只到某一页结束或Response.Flush或Response.End方法调用时才发送出去。服务器将输出送给客户端后就不能再设置Buffer属性 |
| CacheControl | 指明是否Proxy服务器能缓存ActiveServerPage。缺省时,其值为FALSE |
| CharSet(Charsetname) | 将字符集名称(如GB)附加到Response对象中content-type标题的后面,用来设置web服务器响应给客户端的文件字符编码 |
| ContentType | 指明回应内容的类型 |
| Expires | 浏览器可以缓存当前页的时间长度,以分钟为单位 |
| ExpiresAbsolute | 浏览器不能再缓存当前页的日期和时间。在未到期之前,可以返回。如果未指定时间,该主页在当天午夜到期;如果未指定日期,则到当天指定时间到期 |
| True/False=Response.IsClientConnected | 性为只读,指明自上次调用Response.Write之后,客户端是否仍然和服务器连接。该属性允许用户在客户端和服务器没有联接的情况下有更多的控制。 |
| PICS | 用于添加网页的PICS等级 |
| Status | 用来设置Web服务器要响应的状态行的值 |
参考:
版权声明:本文为qq_20044689原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。