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

  • 请求传递的内容分析
  • Request解析
  • Response解析

请求传递的内容分析

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

这里写图片描述

分析第一个请求详细参数(第二个类似):
请求内容分析&Request+Response解析_第1张图片
请求内容分析&Request+Response解析_第2张图片

参数 含义(部分自己理解的)
_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

请求内容分析&Request+Response解析_第3张图片

参数 含义
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

请求内容分析&Request+Response解析_第4张图片
请求内容分析&Request+Response解析_第5张图片

参数 含义
_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

请求内容分析&Request+Response解析_第6张图片

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

Request解析

请求报文
请求内容分析&Request+Response解析_第7张图片
实例:
请求内容分析&Request+Response解析_第8张图片

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解析

响应报文
请求内容分析&Request+Response解析_第9张图片
实例:
请求内容分析&Request+Response解析_第10张图片

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服务器要响应的状态行的值

参考:

Request

Response

你可能感兴趣的:(兄弟会学习,Request,Response)