http协议

 

1.http协议介绍

2.协议头格式

   (1)请求格式

           a.常见请求方法

           b.GET和POST区别

   (2)响应格式

3.响应状态码

4.http协议特点

 

1.http协议介绍

HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。通常,由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。

2.协议头格式

(1)请求格式

(1)请求行:在HTTP请求报文中第一行,以空格为界,分为三个区域:【请求方法,常为GET/POST】+【请求的资源URL】+【HTTP协议版本,常为1.0/1.1】;

(2)请求报头Header:在HTTP请求报文中从第二行到空行之前的即为请求报头,即为请求的属性,均以冒号分割的键值对形式呈现,每组属性间用 \n 分隔;

(3)空行:请求报头与请求正文的分界,不能省略

(4)请求正文Body:空行以后的均是请求正文,表示要提交给浏览器看的消息,允许为空字符串。

(2)响应格式

(1)响应行:在HTTP响应报文的第一行,以空格为界,分为三个区域:【HTTP协议版本号】+【状态码】+【状态码解释】

(2)响应报头Header:在HTTP响应报文中从第二行到空行之前的即为响应报头,即为响应的属性,均以冒号分割的键值对形式呈现,每组属性间用 \n 分隔;

(3)空行:响应报头与响应正文的分界,不能省略

(4)响应正文Body:空行以后的均是响应正文,允许为空字符串。若Body存在,Header中会有一个Content-Length来标识Body的长度。

a.请求方法:

b.GET和POST区别

(1)GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连。  POST方法是把提交的数据放在HTTP包的Body中.

(2)GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制。

(3)GET用于获取资源,而POST用于提交数据。

(4)GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

3.响应状态码

4.http协议特点

   (1)无连接

无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。这时候每次访问图片都需要建立一次 TCP 连接就显得很低效。后来,Keep-Alive 被提出用来解决这效率低的问题Keep-Alive 功能使客户端到服务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive 功能避免了建立或者重新建立连接

   (2)无状态

无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive 没能改变这个结果。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

   (3)支持客户/服务器模式。

   (4)简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

   (5)灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type(Content-Type是HTTP包中用来表示内容类型的标识)加以标记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值