Webscarab关键源码分析(2)

接上篇说Request对象和Response对象

Request代表一个请求,首先给出一个http请求头:

GET /tutorials/other/top-20-mysql-best-practices/ HTTP/1.1
Host: net.tutsplus.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PHPSESSID=r2t5uvjq435r4q7ib3vtdjq120
Pragma: no-cache
Cache-Control: no-cache


可以看到除了第一行之外剩下的内容均可以包含于Message对象,所有Request只是在Message的基础上做了简单的封装,增加了一下成员变量来表示和操纵第一行的信息,包括URL、http版本、方法等。同时重载了相关方法,比如write等可以正确的将第一行信息业输出到相应的流。

Response对象同理不在赘述,值得注意的是Response有个成员变量指向了Resquest对象,代表这个相应的请求。

 

(怎么感觉这篇有点短呢。。。。)

你可能感兴趣的:(Webscarab关键源码分析(2))