博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP协议
阅读量:4704 次
发布时间:2019-06-10

本文共 1285 字,大约阅读时间需要 4 分钟。

HTTP协议的主要特点:

  简单快速:客户端向服务端请求服务时,只需要传送请求方法和路径。由于http协议简单,使得http服务器的程序规模小,因而通信速度很快

  灵活:http允许传输任意类型的数据对象。以Content-Type标记传输的类型。

  无连接:每次链接只处理一个请求。服务器处理完客户的请求,饼收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

  无状态: 无状态是指协议对于事务处理没有记忆能力。服务器不知道客户端是什么状态。意味着如果后续处理需要前面的信息,则它必须重传。

HTTP报文的组成部分

  请求报文:请求行 请求头 空行 请求体

  响应报文:状态行 响应头 空行 响应体

HTTP方法:

  GET:获取资源

  POST:传输资源

  PUT:更新资源

  DELETE :删除资源

  HEAD:获得报文首部

POST和GET的区别:

  1. GET在浏览器回退时不会重复提交,而POST会再次提交请求

  2. GET请求会被浏览器主动缓存,而POST不会,除非手动设置。

  3. GET请求参数会被完整保留在浏览器历史里,而POST中的参数不会被保留

  4. GET请求在URL中传送的参数是有长度限制的,而POST没有限制

  5. GET参数通过URL传递,POST放在Request body 中。

HTTP状态码:

  1xx:  指示信息

  2xx:  成功

    200: 客户端请求成功

  3xx:  重定向

    301:所请求的页面已经转移至新的URL

    302: 锁清秋的页面已经临时转移至新的URL

    304:缓存

  4xx: 客户端错误

    403: 访问被禁止

    404: 请求资源不存在

  5xx: 服务器错误

什么是持久链接:

  HTTP协议采用“请求-应答”模式,当使用普通模式即非Keep-Alive模式时,每个请求/应答客户 和服务器都要新建一个链接,完成之后立即断开链接(http协议为无连接的协议)。

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

什么是管线化:

  使用持久链接的情况下,某个连接上消息的传递类似于:请求1 -> 响应1 ->请求2 -> 响应2 ->请求3 -> 响应3.

  管线化是指:使用持久链接的情况下,某个连接上消息的传递类似于 请求1 -> 请求2 ->请求3 -> 响应1 ->响应2 -> 响应3.

  管线化特点:

    1. 管线化机制通过持久链接完成,仅 HTTP/1.1 支持此技术

    2. 只有GET 和HEAD请求可以进行管线化,而POST则有所限制

    3. 管线化不会影响响应到来的顺序,如上面的例子,响应返回的顺序并未改变

转载于:https://www.cnblogs.com/yangkangkang/p/8709044.html

你可能感兴趣的文章
两数组比较,筛选出不同元素(附数组去重)
查看>>
IOS学习之路十九(JSON与Arrays 或者 Dictionaries相互转换)
查看>>
多线程简单实例(2)生产者和消费者
查看>>
Git在合并时遇到unrelated history提示时无法merge
查看>>
全自动ARP实时绑定BAT文件
查看>>
如何将.class文件反编译为.java文件
查看>>
POJ 1154 LETTERS dfs
查看>>
poj 3009 Curling 2.0(dfs)
查看>>
新浪微博客户端(10)-切换多个fragment
查看>>
新浪微博客户端(12)-判断当前软件是否是新版本(是否显示新特性)
查看>>
线段树1——神奇的数据结构
查看>>
jquery的一些技巧总结
查看>>
使用SQLite方式存储数据
查看>>
一个强大的UI node 抽象
查看>>
MVC,MVP 和 MVVM 的图示
查看>>
openwrt opkg update wget returned 4 wget returned 1
查看>>
.net + Android 通信
查看>>
C#dataset中数据导出到excel
查看>>
node和yarn
查看>>
hdu 4325
查看>>