MochiWeb 开发心得

1.基本信息获取

获取QueryString [{k1,v1},{k2,v2}]

 Get = Req:parse_qs()




获取post信息

Post = Req:parse_post()



获取header示例,只要HTTP Request头中有的,均可采用此方法获取,其内部存储结构是[{"user-agent","xxxx"}]

mochiweb获取数据方式:

proplists:property("user-agent",[{"user-agent","xxxx"}])



我们可以通过Req对象获取某个具体的Header

User_agent = Req:get_header_value("user-agent")



2.Response

Req:Response/2  Response/3

Response/2实则调用的是 Response/3,只是第二个参数列表为[]

下面我们讲解一下Response/3

第一个参数是服务器状态ID(具体ID解释请参见http://www.checkupdown.com/status/error1.html)
第二个参数key-value list,表示你要设置哪个Response Header
第三个参数是返回的数据


e.g.


使浏览器重定向:

Req:respond({302, [{"Location", RdURL}], "Redirecting to " ++ RdURL})




写Cookies:

Req:ok({"html/text",
	[mochiweb_cookies:cookie("uid",Cookies,
	[{max_age, 360000000},
	{local_time, LocalTime}])
	],
<<"hello world">>})





3.其他
由于浏览器请求进来时会携带keep-alive信息,因此服务器会一直保持SOCKET连接,如果我们不是做聊天室,不需要keep-alive,那么我们可以强制让mochiweb帮我们断开连接,只需要加上如下代码

put(mochiweb_request_force_close,true)

 

你可能感兴趣的:(html,数据结构,浏览器,socket)