HTTP 协议

HTTP协议:

1、HTTP协议的主要特点:

2、HTTP报文的组成部分

3、HTTP方法

4、POST和GET的区别

5、HTTP状态吗

6、什么事持久连接

7、什么事管线化

 

1、HTTP协议的主要特点

简单快速、灵活、无连接、无状态

简单快速: 想访问哪个资源,输入uri的路径即可

灵活:每个http协议都有一个header,header里有很多key/value值。通过设定这些属性就可以通过一个http协议完成不同数据类型的传输。

无连接:客户端发起请求的时候,http协议会建立连接并传输。完成之后,与服务端断开。

无状态: 当上一个请求之后,再次发起一个请求。服务端是无法知道上一个请求与这一次请求是不是同一个请求的,因为HTTP协议是无状态的。

 

2、HTTP报文的组成部分:

主要分为 请求报文和响应报文。

请求报文又可以分为:

     请求行:包含http方法 、请求协议、请求版本

     请求头:就是key/value

     空行:用来区分请求头和请求体,让服务端知道请求头啥时候结束。

     请求体: 数据

 

响应报文也可以分为:

     状态行:http协议,http版本、返回状态码

     响应头

     空行

     响应体

 

 

3.http方法:

1.GET—— 获取资源

2.POST—— 传输资源

3.PUT——更新资源

4.DELETE—— 删除资源

5.HEAD—— 获取报文首部

put和delete 用的少。dead也少。

 

4.GET和POST的区别:

1、GET请求在url中传送的参数是有长度限制的,一旦超过就会被截取,那么这个url就是不完整的。 而POST没有限制。

2、GET通过url传递,而POST放在request body中

3、GET比POST更不安全,因为参数都暴露在url上。所以不能用来传递敏感信息。

4、GET只能进行url编码,而POST支持多种编码方式。

5、对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

6、GET请求会被浏览器主动缓存,而POST不会。

7、GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

8、GET产生的URL地址可以被收藏,而POST不可以。

9、GET在浏览器回退时是无害的,而POST会再次提交请求。

 

 

5、HTTP状态码:

1XX: 提示信息—— 表示请求已接收,继续处理

2XX: 成功—— 表示请求已被成功接收

3XX:重定向—— 要完成请求必须进行更进一步的操作

4XX:客户端错误——请求有语法错误或请求无法实现

5XX: 服务器错误——服务器未能实现合法的请求

最常见的:

200——客户端请求成功

301—— 所请求的页面已经转移至新的url

302—— 所请求的页面已经临时转移至新的url

304——客户端有缓冲的文档并发出了一个条件性的请求,服务器告诉客户端原来缓冲的文档还可以继续使用

400——客户端请求有语法错误,不能被服务器所理解

401—— 请求未经授权,这个状态码必须和www-Authenticate 抱头域一起使用

403——对被请求页面的访问被禁止

404——请求资源不存在

500——服务器发生不可预期的错误,原来缓冲的文档还可以继续使用

503——请求为完成,服务器临时过载或当机,一段时间后可能恢复正常

 

 

6.持久连接:

HTTP一些有两种模式

一种是普通模式,每次的请求/应答 客户端和服务器都要新建一个连接,完成之后立即断开连接(HTTP协议为无连接的协议)

还要一种是Keep-Alive模式,(又称持久连接、连接重用)。Keep-Alive功能使客户端到服务端的连接持续有效。当出现对服务器的后续请求时,Keep-Alive功能避免了建立和重新建立连接

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值