这是IETF ( 国际互联网工程任务组(The Internet Engineering Task Force,简称 IETF))制定的协议之一。

互联网工程任务组,成立于1985年底,是全球互联网最具权威的技术标准化组织,主要任务是负责互联网相关技术规范的研发和制定,当前绝大多数国际互联网技术标准出自IETF。是国际互联网业界具有一定权威的网络相关技术研究团体。———来自百度百科

Hypertext Transfer Protocol (HTTP/1.1)

HTTP1.1是我们现在大多数浏览器广泛运用的一个协议。主流,特点是长连接 (keep alive)。

无状态应用层分布式、协作协议

OSI / RM 七层模型 (1.物理层 2.数据链路层 3.网络层 4.传输层 5.会话层 6.表示层 7.应用层)

HTTP协议是在应用层的协议。然后这个rfc就讲了超文本信息系统相关的专业术语定义和描述它安全实现。

RFC为正式有存档的标准性试验记录。一旦提出来不容修改的。--来自百度百科的提炼

然而这篇文档很长很长。我看多少是多少https://tools.ietf.org/html/rfc7230

文档是记录HTTP1.1规范的第一篇文档,文档是2014年6月的。距现在比较近的吧。更新了之前的一些发布版本

记录了一些错误的更正。过时的语法的增强。

HTTP请求由客户端向服务端发起

多数的HTTP请求由GET请求来获取一个URI的某些资源,服务器返回一些状态码:

1xx.消息

100继续,表明服务端收到,客户端可继续请求。就像你跟人家说话,人家边听边嗯,表示听见了。你继续说。并不需要管。

101服务器根据你的请求切换了协议,更新或者回到老版本。你也不需要管。就像你和别人站着聊天,你说坐吧,然后你俩都坐下了。继续聊。

2xx.成功

3xx.重定向

301永久重定向

302临时重定向

303在其他地方找到了

304取缓存

305使用代理

4xx.客户端异常

5xx.服务器异常

再大就是可以自定义的

rfc2616是1999年发布的,不知道为什么也是6月份。这篇就东西比较全(状态码啊,传输方式啊,一些属性啊都有说明)https://tools.ietf.org/html/rfc2616就比7230更看起来更舒服一点。不过毕竟那么早有些技术可能已经更新啦吧。不过也是1.1的,没差啦

上来也是一个摘要介绍了HTTP是什么。跟7230一毛一样的话。里面链接的协议发布日就是更早更早以前的。甚至1.0甚至我还没..额我已经出生了

介绍一些术语

什么是连接,什么是消息,什么是请求,什么是响应。

enh..连接:两个项目或程序为了交流在传输层上建立的虚拟电路连接。

等等一些不说人话的东西,牵扯到原理我也懒得看了

就是去解决一些更古老的问题。

讲一些参数的设定,归根结底是规定协议。其中的一些属性在浏览器里都能看的到,编程也能用的到。看一下多了解是有用的。

传递方式Method包含(协议说了区分大小写)

  OPTIONS

  GET

  HEAD

  POST

  PUT

  DELETE

  TRACE

  CONNECT

  extension -method

针对每一个传递方式都有详细的介绍。GET还是包含比较多的用处的。

ps.自己心里的一些想法。对于中国人搞编程要去看那些外国制定的标准或者文档或者说语法什么的因为不是母语而造成的一些困惑。外国人去看文章是不懂技术的时候通过文章去了解弄懂了技术含义。而正好相反,我看英语文档是通过了解的http相关的知识去看明白这篇文章。顺便学到外语这个没毛病,抛开这一点,能获取到的就是通过官方正式的外文文档更加确信了原理。

读rfc HTTP 协议的更多相关文章

  1. 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...

  2. [转帖]从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路

    从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路   http://www.52im.net/thread-1709-1-2.html     本文原作者阮一峰,作者博客:r ...

  3. 一泡尿的时间,快速读懂QUIC协议

    1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下 ...

  4. 网络编程懒人入门(十):一泡尿的时间,快速读懂QUIC协议

    1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下 ...

  5. 一文读懂MQTT协议

    1  概述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级 ...

  6. 详解 WebRTC 传输安全机制:一文读懂 DTLS 协议

    作者|进学 审校|泰一 DTLS (Datagram Transport Layer Security) 基于 UDP 场景下数据包可能丢失或重新排序的现实情况下,为 UDP 定制和改进的 TLS 协 ...

  7. Radius 认证协议介绍-兼rfc导读

    老规矩, 先看维基: 远端用户拨入验证服务(RADIUS, Remote Authentication Dial In User Service)是一个AAA协议,意思就是同时兼顾验证(authent ...

  8. socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题

    Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...

  9. [转]socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题

    Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...

随机推荐

  1. uni-app之tabBar的自己配置

    1.因为产品相关的的权限,需要配置不同的导航,这时候需要自定义导航.分离出来的就是一个小的组件.(tabBar.vue) 此处暂时用的html插入的代码,能粘贴到vue文件即可. <templa ...

  2. C# 动态加载程序集

    定义动态程序集 namespace DynamicAssembly { public class CodeDriver : MarshalByRefObject { private string pr ...

  3. Appium自动化测试教程-自学网-monkey参数

    monkey 参数 参数分类 · 常规类参数 · 事件类参数 · 约束类参数 · 调试类参数 常规类参数 常规类参数包括帮助参数和日志信息参数.帮助参数用于输出Monkey命令使用指导:日志信息参数将 ...

  4. min-width

    min-width 语法: min-width:<length> | <percentage> 默认值:0 适用于:除非置换内联元素,table-row, table-row- ...

  5. focusout([data],fn) 当元素失去焦点时触发 focusout 事件。

    focusout([data],fn) 概述 当元素失去焦点时触发 focusout 事件. focusout事件跟blur事件区别在于,他可以在父元素上检测子元素失去焦点的情况.大理石平台怎么样 参 ...

  6. 彻底搞懂prototype和__proto__

    prototype是函数特有的属性,是Function的静态属性:__proto__是对象特有的属性. 因为函数本身是一种对象,所以函数既有prototype属性也有__proto__属性. 当函数使 ...

  7. 四十八.监控概述 、 Zabbix基础 、 Zabbix监控服务

     1.常用系统监控命令 查看内存信息 查看交换分区信息 查看磁盘信息 查看CPU信息 查看网卡信息 查看端口信息 查看网络连接信息   一般企业做监控的目的:实时报告系统状态,提前发现系统的问题. 监 ...

  8. 异步时钟FIFO(一)

    FIFO一般用于通过两个不同时钟域的数据传输.一个水池有进和出两个通道,由于进出口水流不一致所以需要水池加以缓冲.堆栈也是相当于水池的作用.如果输入端不是连续的数据流,可以通过堆栈来调节使数据以稳定的 ...

  9. c 判断字符是否为字母 (iswalpha example)

    #include <stdio.h> #include <wctype.h> int main () { ; wchar_t str[] = L"C++"; ...

  10. Harmonious Graph

    D. Harmonious Graph 好后悔在写这个题之前浪费了几分钟时间,不然我就写出来了.... 因为他就是连通块之间的合并问题,所以就用并查集就好了 复杂度好像也只是线性的吧... 然后就A了 ...