细说http协议之http请求

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.1版本。
HTTP协议的主要特点可概括如下:
1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。


1、HTTP请求:

客户端连上服务器后,向服务器请求某个web资源时,称之为客户端向服务端发送了一个http请求,一个完整的http请求由三部分组成,分别是:请求行、多个消息报头(请求头)、请求体。实例如下:


一个典型的登录界面提交数据给服务端向服务端发送的http请求:

POST /Exe/servlet/LoginServlet HTTP/1.1     //请求行
Accept: text/html, application/xhtml+xml, */*     //浏览器通过这个头告诉服务器,它所支持的数据类型
X-HttpWatch-RID: 42861-10201   
Referer: http://localhost/Exe/login.html    //浏览器通过这个头告诉服务器,客户机是哪个页面来的      访盗链
Accept-Language: zh-CN      //浏览器通过这个头告诉服务器,它的语言环境
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; MALCJS; rv:11.0) like Gecko
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: localhost  //浏览器通过这个头告诉服务器,想访问哪台主机
Content-Length: 57
DNT: 1
Connection: Keep-Alive //浏览器通过这个头告诉服务器,请求完后是断开链接还是保持链接
Cache-Control: no-cache
Cookie: JSESSIONID=45D408AB80CF69175383B582FA8451E5


username=xiongbin&password=123&submit1=%E7%99%BB%E5%BD%95

请求行包括请求方式,请求资源,http版本号。本例请求行中的POST即为请求方式,请求方式有:GET,POST,HEAD,OPTIONS,DELETE,TRACE,PUT,其中常用的请求方式是GET,POST.用户如果没有设置请求方式,则默认的是GET请求方式。不管是GET还是POST请求方式,都向服务器请求某个web资源,这两种请求方式主要表现在数据传递上:当请求方式为GET方式时,则可以在请求的url地址后以?的形式带上交给服务器,数据之间已&隔开,例如:GET /Exe/servlet/LoginServlet?username=simon&password=123 HTTP/1.1。GET请求所附带的参数是有限制的,不超过1kb。如果请求方式为POST时,则可以在请求体中所传的数据大小理论上说无上限。  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值