读rfc HTTP 协议
这是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 协议的更多相关文章
- 从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路
本文原作者阮一峰,作者博客:ruanyifeng.com. 1.引言 HTTP 协议是最重要的互联网基础协议之一,它从最初的仅为浏览网页的目的进化到现在,已经是短连接通信的事实工业标准,最新版本 HT ...
- [转帖]从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路
从HTTP/0.9到HTTP/2:一文读懂HTTP协议的历史演变和设计思路 http://www.52im.net/thread-1709-1-2.html 本文原作者阮一峰,作者博客:r ...
- 一泡尿的时间,快速读懂QUIC协议
1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下 ...
- 网络编程懒人入门(十):一泡尿的时间,快速读懂QUIC协议
1.TCP协议到底怎么了? 现时的互联网应用中,Web平台(准确地说是基于HTTP及其延伸协议的客户端/服务器应用)的数据传输都基于 TCP 协议. 但TCP 协议在创建连接之前需要进行三次握手(如下 ...
- 一文读懂MQTT协议
1 概述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级 ...
- 详解 WebRTC 传输安全机制:一文读懂 DTLS 协议
作者|进学 审校|泰一 DTLS (Datagram Transport Layer Security) 基于 UDP 场景下数据包可能丢失或重新排序的现实情况下,为 UDP 定制和改进的 TLS 协 ...
- Radius 认证协议介绍-兼rfc导读
老规矩, 先看维基: 远端用户拨入验证服务(RADIUS, Remote Authentication Dial In User Service)是一个AAA协议,意思就是同时兼顾验证(authent ...
- socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题
Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...
- [转]socket使用TCP协议时,send、recv函数解析以及TCP连接关闭的问题
Tcp协议本身是可靠的,并不等于应用程序用tcp发送数据就一定是可靠的.不管是否阻塞,send发送的大小,并不代表对端recv到多少的数据. 在阻塞模式下, send函数的过程是将应用程序请求发送的数 ...
随机推荐
- 01-docker简介及安装
什么是dockerdocker是一个开源项目,诞生于2013年初,最初是dotCloud公司内部的一个业余项目,它基于google公司推出的go语言实现.项目后来加入了linux基金会,遵从了apac ...
- WCF之WebService
一.Web Services简介 Web Services是支持客户端与服务器通过网络互操作的一种软件系统,是一组可以通过网络调用的应用程序API.在Web Services中主要到SOAP/UDDI ...
- a标签中的javascript:void(0)和#的区别
#包含了一个位置信息 默认的锚是#top 也就是网页的上端 而javascript:void(0) 仅仅表示一个死链接 void(0)用于执行某些处理,但是不整体刷新页面 javascript:v ...
- 使用@ConfigurationProperties注解 提示 “Spring Boot Configuration Annotation Processor not found in classpath ”
解决方案: 在 pom.xml 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> < ...
- Codeforces Round #585 (Div. 2) D. Ticket Game
链接: https://codeforces.com/contest/1215/problem/D 题意: Monocarp and Bicarp live in Berland, where eve ...
- vue 内联样式style三元表达式(动态绑定样式)
<span v-bind:style="{'display':config.isHaveSearch ? 'block':'none'}" >动态绑定样式</sp ...
- 003_STM32程序移植之_W25Q64
1. 测试环境:STM32C8T6 2. 测试模块:W25Q64FLASH模块 3. 测试接口: 1. W25Q64FLASH模块接口: VCC3.3--------------------VCC3. ...
- [Luogu] U18430 萌萌的大河
https://www.luogu.org/problemnew/show/U18430 思路比较好想 树链剖分 对于1操作 只需将以该点为根的子树打标记,将所有数存入数组排序 每次进行1操作时,判断 ...
- Linux之防火墙【CentOS 7】
CentOS 7默认使用的是firewall作为防火墙,这里改为iptables防火墙. firewall操作: # service firewalld status; #查看防火墙状态 (disab ...
- 十七、程序包管理之yum和编译安装
YUM Redhat二次发行版 Yellow Dog Linux,上使用的yum(Yellowdog Update Modifier),由yellow dog 研发 yum命令的工作原理 1.接收用户 ...