http编程系列1:http协议的解释以及实例演示

来源:互联网 发布:windows programming 编辑:程序博客网 时间:2024/06/10 10:32

http是网络中对重要的协议,下面我们来一起分享一下http协议。

我们实现的是通过httpwatch工具来查看网页中http协议。

有三种协议可以进行请求操作:HTTP协议、FTP协议、TCP/IP协议(必须实现socket编程,这种方法一般用于一些比较大的文件,视频,进行断电续传的操作)。

HTTP协议实例分析:
第一步,在浏览器客户端中得到用户输入的内容。
第二步,在浏览器得到这个网址之后,内部会将这个域名发送到DNS上,进行域名解析。得到它的IP之后就会连接到制定的服务器上,假如服务器的地址是:221.104.13.32:80,从浏览器到服务器端口它使用到最底层的TCP/IP协议
第三步,实现TCP/IP协议用Socket来完成,使用了Socket的套接字。
第四步,服务器的80端口监听客户端的链接,这样客户端到服务器就链接上了。

HTTP请求分为:GET请求和POST请求
GET请求会把请求的参数显示在地址栏上,这样并不安全;
POST请求所提交的数据理论上不受大小的限制。

整体思路:我们在myeclipse中新建一个web工程,在index.jsp中定义一个表单,表单上写一个登录界面,新建一个servlet,名称为LoginAction,在doPost方法中里面获取控件中用户名和密码信息并进行核对,输出登录成功信息。运行这个web工程,然后在IE浏览器的网页上右键选择HttpWatch,登录前点击Record,Network表示当前网络的状态信息,其中Elapsed Time表示请求的时间,Downloaded Data表示下载数据的字节数,UnLoad Data表示提交数据的字节数;Status Codes是表示请求的一个状态码,是由服务器端给我们返回的,200表示ok。
点击红绿进度条的那一行,然后点击POST Data表示请求的数据;Content表示相应的内容;Headers是请求的头部信息,其中第一行信息表示使用post方式提交、请求的链接、请求的协议,Accept表示设置服务器中返回的类型,Accept-Language表示设置服务器中返回的语言,Content-Type表示服务器端所支持的返回类型,Cookie表示服务器端返回Cookie的编号,Host表示主机,Referer表示关联到当前请求的一个url,User-Agent表示浏览器所支持的内核。

Headers Received表示请求完之后所接收到的数据,其中第一行信息表示请求完所接收到的状态,上面写的是200表示当前的请求是成功的,Date表示日期。

POST Data表示表示本次表单提交的参数和它的值。

Content表示从服务器端所返回的内容。返回的方式一般为三种HTML、XML(安卓中常用)、JSON(节省流量,方便解析,比较常用)。

Cookie中包括session的ID,可以把这个ID返回给客户端,来判断是哪个用户登录,同一个用户登录了几次。

index.jsp文件:

<form name="form1" method="post" action="<%=path %>/servlet/LoginAction">    用户名:<input type="text" name="username" value=""/><br/>    密    码:<input type="password" name="password" value="" /><br/>    <input type="submit" name="submit" value="提交表单" />    <form/>

LoginAction.java文件:

String username=request.getParameter("username");String pswd=request.getParameter("password");if(username.equals("admin")&&pswd.equals("123")){//表示服务器端返回结果out.print("Login is successed!!!");}


0 0
原创粉丝点击