HTTP协议类
Posted bestchenyan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议类相关的知识,希望对你有一定的参考价值。
1、HTTP协议的主要特点:
简单快速(统一资源符UII固定)
灵活(头部有数据类型)
无连接(不会保持连接)
无状态(服务端不能区分二次连接者身份)
2、HTTP报文的组成部分
请求报文:请求行 (http方法 页面地址 协议 版本),请求头(key:value),空行(请求头的结束标志),请求体
响应报文:状态行 响应头 空行 响应体
3、HTTP方法
GET : 获取资源
POST:传输资源
HEAD:获得报文头部
PUT:更新资源 DELET:删除资源 (这两个不常用)
4、POST 和GET的区别(说出加粗部分即可)
GET在浏览器回退是无害的,POST会再次请求
GET产生的URL地址可以被收藏,POST不会
GET请求会被浏览器主动缓存,而POST不会,除非手动设置
GET请求只能进行URL编码,而POST支持多种编码方式
GET请求参数会被完整保留在浏览器历史记录里,而POST中参数不会
GET请求在URL中传送的参数是有长度限制的(2kb),而POST没有
GET对参数的数据类型,GET只接受ASCII字符,而POST没有限制
GET比POST更不安全,因为参数直接暴露在URL上不能用来传递敏感信息
GET参数通过URL传递,POST放在Request body中
5、HTTP状态码
1xx:提示信息——表示请求已接受,继续处理
2xx:成功——表示请求已被成功接受
3xx:重定向——要完成请求必须更进一步操作
4xx:客户端错误——请求有语法错误或请求无法实现
5xx:服务端错误——服务器未能实现合法请求
常见类型:
200:ok 客户端请求成功
206:Parital Content 客户发送了一个带有Range头的GET请求,服务器完成了它
301:Moved Permanently 所请求的页面已经转移到新的url,永久重定向
302 Found 所请求的页面已经临时转移至新的url
304 客户端有缓冲的文档并发出了一个请求,服务器告诉客户,用来缓存的文档还可以继续使用
400 客户端请求有语法错误,不能被服务器理解
401 请求未经授权,
403 对被请求页面的访问被禁止
404 请求资源不存在
500 服务器发生不可预期的错误原来缓存的文档可继续使用
503 请求未完成 服务器临时过载或宕机,一段时间后可能恢复正常
6、持久连接
(1)http协议采用“请求-应答”模式,当使用普通模式,即非keep-alive模式时,每个请求-应答客户和服务器都要新建一个连接,完成之后立即断开连接(http协议是无连接协议)
(2)当使用keep-alive(又称持久连接,连接重用)时,keep-alive功能避免了简历或者重新建立连接
7、管线化
在使用持久连接的情况下,某个连接上消息的传递类似于:
请求1 ->响应1 ->请求2 ->响应2 ->请求3 ->响应3
管线化就是某个连接上的消息变成了类似这样:
请求1 ->请求2 ->请求3 ->响应1 ->响应2 ->响应3
特点:
管线化机制通过持久连接完成,仅HTTP1.1支持此技术
只有GET和HEAD请求可以进行管线化,而POST有所限制
初次创建连接时,不应启动管线机制,因为服务器不一定支持HTTP1.1协议
以上是关于HTTP协议类的主要内容,如果未能解决你的问题,请参考以下文章