这是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相关的知识去看明白这篇文章。顺便学到外语这个没毛病,抛开这一点,能获取到的就是通过官方正式的外文文档更加确信了原理。