



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、 实验内容设计一个简易的HTTP服务端的程序,监听80端口。支持多客户端连接,能满足客户的HTTP 方法,包括GET、POST、Head请求。同时再设计一个客户端,向该服务器发送请求,并响应结果。二、 实验设计1) 服务端:首先启动一个TcpListener监听80端口的TCP连接,把接受到的每个TcpClient丢到线程池中去处理。接着线程用StreamReader读取第一行,获得HTTP连接的版本,获取的资源路径以及HTTP方法,根据不同的HTTP方法创建不同的实例进行处理。如果是GET或者HEAD,读到空行表示读取结束。如果是POST,读到空行后,还要读取多个字符作为POST DAT
2、A。最后,根据不同的HTTP方法做出不同的响应即可。比如,GET的话返回一张html主页(带图片、图标和css文档),POST的话将post的信息生成一张动态网页送回去(注意用HttpUtil类的URLDecode方法),HEAD的话直接返回响应头信息即可。服务端的UML图如下:2) 客户端:用一个TcpClient主动去Connect对应的服务器(也可以是其他外网的服务器,比如百度),在TextBox中显示HTTP响应头信息以及网页源代码等,在WebBrowser中显示对应网页。客户端这边可以对服务器发送HEAD信息,方法是在TcpClient Connect成功后,用StreamWrite
3、r发送一行HEAD / HTTP/1.1,接着可以发送一些头信息,最后再发送一个空行,然后就可以用StreamReader从服务器端获取头信息(以空行结束)。POST请求则是通过浏览器发送的,结果也由浏览器接收。三、 实验结果1. 浏览器访问主页(发送GET请求)2. 浏览器发送POST请求3. 客户端访问主页(发送GET请求)4. 客户端访问百度(发送GET请求)5. 客户端发送HEAD请求四、 实验总结通过本次实验,本人从中学到了很多东西。首先,本次实验是我第一次接触HTTP协议,由于对协议不熟悉,所以遇到了很多问题,比如:HTTP的请求和响应的headers信息都是可选的(有默认值),但
4、是headers后面的空行是必须的,它作为一种结束的标志。还有,使用POST方法时,空行后面的POST DATA必须以字符的形式一个一个读取,以字节的形式或者以行的形式读取都会失败。其次,由于对网络编程尚不够熟悉,犯了一些小错误,结果DEBUG了好久。比如,用StreamWriter往网络流写数据时,必须用Flush()方法真正把数据送过去,而BinaryWriter则不必调用Flush方法。还有,没有用异步,导致界面卡顿,后来更正后情况改善。但是WebBrowser的Nevigate方法依然无法用异步的方式执行。再之,我还发现了一些浏览器之间的差别,比如IE不支持text-shadow的CSS属性,而Chrome和FireFox均支持;IE对于每个响应的资源都必须加上Content-Type头信息,否则无法正常识别,而Chrome和FireFox都可以智能识别。最后,我还发现,当浏览器收到服务器响应的html时,可能会根据里面的每个css、图标、图片资源分别建立线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西藏航空接待管理办法
- 就业专项服务管理办法
- 福州企业门禁管理办法
- 电量电费退补管理办法
- 土建施工企业管理办法
- 煤矿培训教师课件
- 肩关节影像技术课件下载
- 肝胆外科护理教学课件
- 肝癌介入护理课件
- 东城区中考一模数学试卷
- ISO45001 2024职业健康安全管理体系要求及使用指南
- 音乐剧排练流程
- 高压电缆故障抢修施工方案
- 2025-2030中国三元乙丙橡胶行业发展趋势及发展前景研究报告
- 2025年统编版一年级上册语文识字表字帖
- 2025住院患者身体约束护理
- 基于BOPPPS框架与线上线下混合教学模式的探索
- DB32-T 186-2015建筑消防设施检测技术规程
- 2025年四川广安爱众股份有限公司招聘笔试参考题库含答案解析
- 2025年上半年广东省广州白云区太和镇政府雇员招聘16人易考易错模拟试题(共500题)试卷后附参考答案
- DBJ33T 1271-2022 建筑施工高处作业吊篮安全技术规程
评论
0/150
提交评论