读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函数的过程是将应用程序请求发送的数 ...
随机推荐
- python_面向对象——类之间的依赖关系
class Dog: def __init__(self,name,age,master): self.name = name self.age = age self.master = master ...
- ASP.NET MVC Liu_Cabbage 个人博客
RightControl_Blog 介绍 前台使用燕十三博客前端模板,后台基于RightControl .NET通用角色权限管理系统搭建,已完成.项目地址:http://www.baocaige.to ...
- WPF界面开发者注意啦!Scheduler控件支持时区功能了,你get了吗
DevExpress广泛应用于ECM企业内容管理. 成本管控.进程监督.生产调度,在企业/政务信息化管理中占据一席重要之地.通过DevExpress WPF Controls,您能创建有着强大互动功能 ...
- dpkg: error processing package XXX (--configure) 解决方法 (ubuntu右上角红色警告)
在 Ubuntu 执行 sudo apt-get upgrade 时,出现了如下的报错: Setting up bluez (4.101-0ubuntu13.1) ... reload: Job is ...
- hibernate配置和映射文件
映射文件 <?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping ...
- Activation HDU - 4089 (概率DP)
kuangbin的博客 强 #include <bits/stdc++.h> using namespace std; const int MAXN = 2005; const doubl ...
- setsockopt函数
#include <sys/socket.h> int setsockopt( int socket, int level, int option_name, ...
- redis之持久化RDB与AOF
redis数据持久化 Redis是一种内存型数据库,一旦服务器进程退出,数据库的数据就会丢失,为了解决这个问题,Redis提供了两种持久化的方案,将内存中的数据保存到磁盘中,避免数据的丢失. RDB持 ...
- 方阵转置(c++)
#include #include using namespace std; int main(int argc,char* argv[]) { int a[4][4]={ {0,1,2,3}, {4 ...
- Linux设备驱动程序 之 kmalloc
原型 kmalloc的原型如下: void *kmalloc(size_t size, gfp_t flags) 第一个参数是要分配的块的大小,第二个参数是分片标志: flags标志 最常用的标志是G ...