这是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. 数组增、删方法(push()-unshift()-pop()和shift())

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 21、自动装配-@Resource&@Inject

    21.自动装配-@Resource&@Inject Spring 还支持使用@Resource(JSR250)和@Inject(JSR330)[Java规范的注解] AutowiredAnno ...

  3. P5043【模板】树同构([BJOI2015]树的同构)

    思路:树哈希 提交:1次 题解: 怕不是用的oi-wiki上的公式: \[f_u=size_u\times\sum f_{son_{u,i}}\times Base^{i-1}\] #include& ...

  4. .net SerialPort

    虚拟串口并定时向虚拟串口定时发数据 http://scorpiomiracle.iteye.com/blog/653923 C#中如何使用SerialPort控件向单片机发送数据? http://zh ...

  5. 【线性代数】5-1:行列式性质(The Properties of Determinants)

    title: [线性代数]5-1:行列式性质(The Properties of Determinants) categories: Mathematic Linear Algebra keyword ...

  6. 网络流24题 P2766 最长不下降子序列问题

    题目描述 «问题描述: 给定正整数序列x1,...,xn . (1)计算其最长不下降子序列的长度s. (2)计算从给定的序列中最多可取出多少个长度为s的不下降子序列. (3)如果允许在取出的序列中多次 ...

  7. 卷积理论 & 高维FWT学习笔记

    之前做了那么多生成函数和多项式卷积的题目,结果今天才理解了优化卷积算法的实质. 首先我们以二进制FWT or作为最简单的例子入手. 我们发现正的FWT or变换就是求$\hat{a}_j=\sum_{ ...

  8. .netcore signalR 实时消息推送

    服务器端引入包 Install-Package Microsoft.AspNetCore.SignalR客户端引入包  npm install @aspnet/signalr <template ...

  9. 8月清北学堂培训 Day2

    今天是赵和旭老师的讲授~ 背包 dp 模型 背包 dp 一般是给出一些“物品”,每个物品具有一些价值参数和花费参数,要求 在满足花费限制下最大化价值或者方案数. 最简单几种类型以及模型: 0/1背包: ...

  10. org.hibernate.TypeMismatchException: Provided id of the wrong type for class *** Expected ***

    今天上生产发现warn日志有异常,就查看了下: 2018-12-05 10:05:05.666 [pool-4-thread-1] ERROR org.springframework.batch.co ...