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年提出,经过几年的使用与发展,得到不断地完善和扩展.目前 ...
随机推荐
- Carthage入门篇-安装和使用
在iOS开发过程中,用到最多的三方库管理工具也许是Cocoapods.Cocoapods会自动为你创建一个workspace,然后自动将你要用到的三方库集成到Project中,而整个过程,你只需要对P ...
- MyBatis学习日记(三):戏说MyBatis配置文件
properties标签 properties标签可以用来加载别的配置文件,比如可以加载数据库的配置文件,jdbc.properties. 下面是jdbc.properties jdbc.driver ...
- Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship
Problem Educational Codeforces Round 60 (Rated for Div. 2) - C. Magic Ship Time Limit: 2000 mSec P ...
- 从jsp到java文件再返回到前台页面的过程
客户端请求jsp页面总共分为三个阶段: <%@ page language="java" contentType="text/html; charset=utf-8 ...
- 江苏省选2019Round2游记
JSOI2019R2过去了. 翻盘变翻车... Day 0 打板子.写了几棵主席树. 然后啃CF 331D3.啃不动 Day 1 开T1.这什么玩意啊...换换换 开T2.一眼\(10\)分的状压,码 ...
- 第二部分之Redis服务器(第十四章)
Redis服务器复制和多个客户端建立网络连接,处理客户端发送的命令请求,在数据库中保存客户端执行命令所产生的数据. 一,命令请求的执行过程 客户端向服务器发送命令请求 set key value 服务 ...
- Swoole入门到实战打造高性能赛事直播平台(完整版)
需要 的联系我,QQ:1844912514
- 《Python从入门基础到实践》
<Python学习——从入门到实践> 第1章 Python语言概述 1.1 从计算机到编程 1.1.1 程序语言的演变:机器语言,汇编语言,高级语言 1.1.1.1 演变原因 1.1.1. ...
- 安装 VMware CentOS Xmanager Xshell
1.CentOS下载CentOS是免费版,推荐在官网上直接下载,网址:https://www.centos.org/download/DVD ISO:普通光盘完整安装版镜像,可离线安装到计算机硬盘上, ...
- 4月23日 MySQL学习-DDL
今日学习的是DDL的操作(数据定义语言) create table teachers (id int,name varchar(50));//创建一个表 给了两个类型alter table stude ...
