前言
前面3篇博文实现了http服务器的框架、http报文处理以及动态页面和静态页面的GET请求。本文基于 http服务器实现(三)增加了对post请求的处理 。同时对浏览器到服务器之间的交互机制进行总结。
涉及到的内容有:
- 什么是post请求
- post请求实现
- 浏览器和服务器如何交互
- 关于源码的说明
一、什么是post请求
GET一般用于获取/查询网站资源信息,而POST一般用于更新资源信息。我们平常遇到的登录界面,输入用户名和密码之后点击确认,提交FORM(表单),一般是用POST请求。这里用具体的例子,通过抓包来理解这一过程,看完就知道post请求是什么回事了。例子如下:
//login.html
<body>
<form name="form_1" action="/cgi-bin/post.cgi" method="post">
<table align="center">
<tr><td align="center" colspan="2"></td></tr>
<tr>
<td align="right">username</td>
<td><input type="text" name="Username"></td>
</tr>
<tr>
<td align="right">password</td>
<td><input type="password" name="Password"></td>
</tr>
<tr>
<td><input type="submit" value="login"></td>
<td><input type="reset" value="cancel"></td>
</tr>
</table>
</form>
</body>
这是一个html文件,在浏览器中显示如下: