免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1670 | 回复: 5
打印 上一主题 下一主题

请问一下Web交互方面的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-25 09:39 |只看该作者 |倒序浏览
我想请问一下,在Web网页的交互中从tcp连接的角度它们都进行了哪些数据的交
互。比如
在csapp中,作者举的一个小例子:
--------------------------------------------
   unix> telnet www.aol.com 80        Client: open connection to server
1
   Trying 205.188.146.23...            Telnet prints 3 lines to the terminal
2
   Connected to aol.com.
3
   Escape character is ’ˆ]’.
4
   GET / HTTP/1.1                      Client: request line
5
   host: www.aol.com                   Client: required HTTP/1.1 header
6
                                       Client: empty line terminates headers.
7
   HTTP/1.0 200 OK                     Server: response line
8
   MIME-Version: 1.0                   Server: followed by five response headers
9
   Date: Mon, 08 Jan 2001 04:59:42 GMT
10
   Server: NaviServer/2.0 AOLserver/2.3.3
11
   Content-Type: text/html             Server: expect HTML in the response body
12
   Content-Length: 42092               Server: expect 42,092 bytes in the
response body
13
                                       Server: empty line terminates response
headers
14
   <html>                              Server: first HTML line in response body
15
   ...                                 Server: 766 lines of HTML not shown.
16
   </html>                             Server: last HTML line in response body
17
   Connection closed by foreign host. Server: closes connection
18
   unix>
19
------------------------------------------------
    这说明服务器发回了一个静态网页的内容,并且没有保持状态,也就是说下次连接
服务器并不知道有这次连接。
那么,如果该网页上有一个按钮button,我们按下它,浏览器会向服务器发送什么数据呢?
如果是GET方法,那么它是在URL中有信息的,如果是POST呢,请熟悉之方面的同学讲一
下这个具体的过程,或者推荐
一个这方面的参考资料吧。
    比如说,我用一个c++程序来模拟用户点击,应该向服务器发送什么数据呢?

论坛徽章:
0
2 [报告]
发表于 2009-04-26 11:25 |只看该作者
我想这些交互,应该都是有标准的吧。
每次submit都是从新打开一个连接,除非是数据库的那种长连接。
你就抓包,然后用程序仿照这些包的交互过程发送就没问题。

论坛徽章:
0
3 [报告]
发表于 2009-04-26 13:51 |只看该作者
嗯,我也想到是这样了,应该用sniffer...

论坛徽章:
11
技术图书徽章
日期:2014-03-01 14:44:34天蝎座
日期:2014-05-21 22:11:59金牛座
日期:2014-05-30 17:06:14
4 [报告]
发表于 2009-04-26 21:49 |只看该作者
没什么绝对的理由不要reinvent wheel。看cURL and libcurl
http://curl.haxx.se/

论坛徽章:
0
5 [报告]
发表于 2009-04-28 20:01 |只看该作者
抓包分析80端口的HTTP协议吧

论坛徽章:
0
6 [报告]
发表于 2009-04-29 11:02 |只看该作者

回复 #1 dilfish 的帖子

web应用是有链接无状态的。也就是说你submit下。你就打开一个连接到webserver,webserver接受到你的提交,维持一个瞬时的连接。然后使用你打开的链接把你请求的 页面信息返回给你。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP