HTTP协议 详解
前言
掌握HTTP协议是每一个开发者的基础,超详细的HTTP协议笔记
正文
HTTP协议格式总览

HTTP line
HTTP Method(方法)
介绍了我们请求希望执行的操作类型。
方法有:
- GET : 通过地址栏携带信息访问页面
- POST:表单提交的形式,请求内容放在body中
- HEAD:和get类似,只返回请求头,多数由javaScript发起
- PUT:语义上的一种约定:表示添加资源
- DELETE:语义上的一种约定:表示删除资源
- CONNECT:多用于HTTPS和WebSocket
- OPTIONS: 调试使用
- TRACE:调试使用
HTTP Status code(状态码)和Status text(状态文本)
- 1XX:临时回应,表示客户端请继续。
- 2xx:请求成功
- 200:请求成功
- 3xx:表示请求的目标有变化吗,希望客户端进一步处理。
- 301&302永久性与临时性的跳转,表示当前资源已被转移,只不过一个是永久性转移,一个是临时性的,301更接近一种报错,提示客户端下次别来了。
- 304:跟客户端缓存没有更新:产生前提是客户端本地已经有缓存的版本,并且在request中告诉了服务端,当服务端通过时间或tag,发现没有更新的时候了,就会返回一个不含body的304状态
- 4xx:客户端错误
- 403:无权限
- 404:表示请求的页面不存在
- 418:这是一个彩蛋
- 5xx:服务端请求错误
- 500:服务端错误
- 503服务端暂时性错误,可以一会再试
HTTP Head(HTTP头)
它可以被看做键值对,只是有些特殊。
Request Header

Response Header

HTTP Request Body
HTTP 请求的Body主要用于表单场景。
body中的格式可以是任何类型的数据,但是为了得到服务端的认可,也有一些常见的格式
如:json,form-data,xml
值得注意的是,当有文件上传时,则使用multipart/form-data
HTTP2
http2.0是http1.1的升级版,
HTTP2.0的改进:
1 支持服务端推送
服务端推送能够在客户端发生第一个请求时,提前把一部分内容推送给客户端,放入缓存中,
避免客户端请求顺序带来的并行度不高,从而导致的性能问题
2 支持TCP连接复用
使用同一个TCP连接来传输多个HTTP请求,避免了 TCP连接建立时的,三次握手开销和初建TCP连接时窗口小的问题
3 使用二进制代理文本进行传输
极大提高了传输的效率
HTTPS
HTTPS的两个作用
1 确定请求的目标服务端身份
2 保证传输的数据不会被网络中间节点窃听和篡改
HTTPS通过加密通道来传输HTTP内容
HTTPS首先与服务端建立一条TLS加密通道,TSL构建在TCP协议之上,它实际是对传输的内容做一次加密,所以从传输的内容来看,HTTPS和HTTP是一样的。
结尾
HTTP协议是每个工程师的基础。
希望大家都能理解透彻。
HTTP协议 详解的更多相关文章
- HTTP协议详解(转)
转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...
- HTTP协议详解
Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展. ...
- 动态选路、RIP协议&&OSPF协议详解
动态选路.RIP协议&&OSPF协议详解 概念 当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路.路由器之间必须采用选路协议进行通信,这样的选路协议 ...
- ASP.NET知识总结(3.HTTP协议详解)
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 接口测试之HTTP协议详解
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 计算机网络(12)-----HTTP协议详解
HTTP协议详解 http请求 http请求由三部分组成,分别是:请求行.消息报头.请求正文 (1)请求行 请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Metho ...
- OSPF协议详解
CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...
- HTTP协议详解(真的很经典)
HTTP 是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和 扩展.目前在WWW中使用的是HTTP/1.0 ...
- HTTP协议详解--转载http://blog.csdn.net/gueter/article/details/1524447
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- 关于http协议详解
Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前 ...
随机推荐
- angularjs html 转义
angularjs html 转义 默认情况下,AngularJS对会对插值指令求职表达式(模型)中的任何HTML标记都进行转义,例如以下模型: $scope.msg = “hello,<b&g ...
- springboot 定时任务
1.启动类新增注解 @EnableScheduling import org.springframework.boot.SpringApplication; import org.springfram ...
- 关于SSH的那些事
SSH: Secure Shell Protocol (安全外壳协议) Secure Shell,又可记为安全外壳协议(SSH) Secure Shell,又可记为安全外壳协议(SSH),最初是UN ...
- 使用 canvas 画图时图像文字模糊的解决办法
最近在使用 canvas 画图的时候,遇到了图像文字模糊的问题,解决思路就是根据分辨率创建不同尺寸的画布.以下是创建高分辨率画布的代码: /** * 创建高分辨率画布 * @param w 画布宽 * ...
- dos命令的使用
echo 百度欢迎您 >d:\1.txt F7查看执行过的命令 直接进入 D盘 d: 创建目录 md fox 在fox目录下创建子目录user md fox\user\hello1 进入到use ...
- HTML HTML5 新特性
一.语义化标签 语义化标签 为页面提供了更好的页面结构. 描述 属性 <header></header> 定义文档的头部区域 <footer></foote ...
- Python并发式编程
目录 进程 线程 GIL(Global Interpreter Lock) 线程的调用方式 直接调用 继承调用 join&Daemon方法 Daemon(True) 同步锁 死锁 递归锁 同步 ...
- Oracle查询字符串数据进行排序,以及去重复
原本的的一张表,填写数据的字段为字符串varchar2类型,然后进行排序的时候,就会出现问题.会默直接默认判断为第一个数字9最大,而不判断整个数字的大小. 所以,就要用到TO_NUMBER函数 sel ...
- React react-fastclick-alt 移动端点击
1. Install npm install --save-dev react-fastclick-alt 2. 用法 将元素或者component放在 <FastClick>...&l ...
- Python基础:语法基础(3)
本篇主要介绍Python中一些基础语法,其中包括:标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 1. 标识符和关键字 1.1 标识符 标识符是变量.常量.函数.属性.类.模块和包等 ...
