http与socket分析与编程

http与socket分析与编程

ID:9398748

大小:49.36 KB

页数:22页

时间:2018-04-30

http与socket分析与编程_第1页
http与socket分析与编程_第2页
http与socket分析与编程_第3页
http与socket分析与编程_第4页
http与socket分析与编程_第5页
资源描述:

《http与socket分析与编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、HTTP与Socket分析与编程一、TCP/IP的介绍首先先介绍一下TCP/IP,TCP是传输层协议,IP是网络层协议。手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。建立起一个TCP连接需要经过“三次握手”:第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1)

2、,同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连接之前,TCP连接都将被一直保持下去。断开连接时服务器和客户端均可以主动发起断开TCP连接的请求,断

3、开过程需要经过“四次握手”(过程就不细写了,就是服务器和客户端交互,最终确定断开)二、HTTP连接HTTP协议即超文本传送协议(HypertextTransferProtocol),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在TCP协议之上的一种应用,是应用层协议。HTTP连接最显著的特点是客户端发送的每次请求都需要服务器回送响应,在请求结束后,会主动释放连接。从建立连接到关闭连接的过程称为“一次连接”。1)在HTTP1.0中,客户端的每次请求都要求建立一次单独的连接,在处理完本次请

4、求后,就自动释放连接。2)在HTTP1.1中则可以在一次连接中处理多个请求,并且多个请求可以重叠进行,不需要等待一个请求结束后再发送下一个请求。由于HTTP在每次请求结束后都会主动释放连接,因此HTTP连接是一种“短连接”,要保持客户端程序的在线状态,需要不断地向服务器发起连接请求。通常的做法是即使不需要获得任何数据,客户端也保持每隔一段固定的时间向服务器发送一次“保持连接”的请求,服务器在收到该请求后对客户端进行回复,表明知道客户端“在线”。若服务器长时间无法收到客户端的请求,则认为客户端“下线”,若客户

5、端长时间无法收到服务器的回复,则认为网络已经断开。(一)HTTP8种请求方法:1)GET:请求获取Request-URI所标识的资源。2)POST:在Request-URI所标识的资源后附加新的数据。3)HEAD:请求获取Request-URI所标识的资源的响应消息头。4)OPTIONS:请求查询服务器性能,或查询与资源相关的选项和需求。5)PUT:请求服务器存储一个资源,并用Request-URI作为其标识。6)DELETE:请求服务器删除由Request-URI所标识的资源。7)TRACE:请求服务器回

6、送收到的请求信息,主要用于测试或诊断。8)CONNECT:HTTP1.1协议中预留给能够将连接改为管道方式的代理服务器。详解GET和POST1)GET:GET方法是默认的HTTP请求方法,我们日常用GET方法来提交表单数据,然而用GET提交的数据只经过简单的编码,同时它将作为URL的一部分向web服务器发送,因此使用GET方法来提交数据存在着安全隐患,例如:Http://127.0.0.1/login.jsp?Name=zhangshi&Age=30&Submit=%cc%E+%BD%BB从上面的内容,可以

7、很容易的辨认出提交表单的内容(?之后的内容),另外由GET方法提交的数据是作为URL请求的一部分,所以提交的数据量不能太大。2)POST:POST方法是GET方法的一个替代方法,它主要是向Web服务器提交表单数据,尤其是大批量的数据。POST方法克服了GET方法的一些缺点。通过POST方法提交表单数据时,数据不是作为URL请求的一部分而是作为标准数据传送给Web服务器,这就克服了GET方法中的信息无法保密和数据量太小的缺点。因此,出于安全的考虑以及对用户隐私的尊重,通常表单提交时采用POST方法。(一)Ja

8、va之HTTP通信1.通过URLConnection的通信通信流程:第一:创建URL以及HttpURLConnection对象。第二:连接参数设置。第三:连接到服务器。第四:向服务器写数据。最后一步:从服务器读取数据。下面是一些接口的介绍:HttpURLConnection是java的标准类,继承自URLConnection类,URLConnection与HttpURLConnection都是抽象类,无法直接实例

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。