请求内容分析&Request+Response解析

请求传递的内容分析

通过打印的res内容可见, 一次访问共发送了两个请求(request是http.IncomingMessage的一个实例)

这里写图片描述

分析第一个请求详细参数(第二个类似):
这里写图片描述
这里写图片描述

参数含义(部分自己理解的)
_readableStateReadable对应于Java中的InputStream和Reader两个类,针对Readable设置encode编码可完成内部数据由Buffer到字符的转换。Readable Stream有两种模式,即flowing和paused模式。这两种模式对于用户而言区别在于是否需要手动调用。readableState中包含以上信息的具体状态设置信息。
readable值为true或false,指定是否读取
domain域名信息
_events绑定的事件处理
_eventsCount事件个数
_maxListeners设置的最大监听者数目
socket套接字,区分连接
connection建立连接是触发,内容即是套接字
httpVersionMajorhttp的最大版本号
httpVersionMinorhttp的最小版本号
httpVersionhttp的版本号
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管道数目
flowingflowing还是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消耗
_httpMessagehttp信息
ServerResponse服务器信息

由于socket内容很多和其他部分类似,所以这里与其他部分相似内容没有细说

  • headers

这里写图片描述

参数含义
hosthost请求主机地址
connection连接状态
accept客户机所能接收的MIME类型,浏览器支持的编码和语言等信息

Request解析

请求报文
这里写图片描述
实例:
这里写图片描述

Request 对象在 HTTP 请求期间,检索客户端浏览器传递给服务器的值 。

语法格式: Request[.collection|property|method] (variable)

集合描述格式
ClientCertificate存储在发送到 HTTP 请求中客户端证书中的字段值Request.ClientCertificate( Key[SubField] )
CookiesHTTP 请求中被发送的 cookie 的值Request.Cookies(cookie)[(key)或.attribute]
FormHTTP 请求正文中表格元素的值Request.Form(element)[(index)或.Count]
QueryStringHTTP 中查询字符串中变量的值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。
方法作用格式
writeWrite 方法可以向发往客户端浏览器的HTML 文件中直接输出信息Responser.Write 内容
RedirectRedirect 方法可以使浏览器从当前网页转向到其他网页Response.Redirect 路径
EndEnd 方法可以结束程序的运行Response.End
ClearClear 方法用于清除缓冲区中的所有HTML输出,可以用来防止显示第二个页面时,第一个页面也显示出来。它把第一个页面从Buffer中清空了。但Clear 方法只清除响应正文而不清除响应标题。可以用该方法处理错误情况Response.Clear
FlushFlush 方法可以立即发送缓冲区中的输出。如果没有将Response.Buffer 设置为True,该方法将导致运行时错误Response.Flush
AddHeaderAddHeader 方法用指定的值添加 HTML 标题。该方法常常向响应添加新的 HTTP 标题。它并不替代现有的同名标题。一旦标题被添加,将不能删除Response.AddHeader name, value
AppendToLogAppendToLog 方法向Web服务器的日志条目的末尾添加一字符串。String为要添加到日志文件中的字符串Response.AppendToLog String
BinaryWriteBinaryWrite 方法不经任何字符转换就将指定的信息写到 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服务器要响应的状态行的值

参考:

Request

Response

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值