HTTP协议入门要点
应用层协议、基于tcp
HTTP/0.9
命令
GET
特点
- 服务器只能回应HTML字符串
- 服务器发送完毕后就关闭tcp连接
HTTP/1.0
命令
GET POST HEAD
特点
- 每次通信都必须包括头信息(HTTP header)
- 状态码(status code)、多字符集支持、多部分发送(multi-part type)、权限(authorization)、缓存(cache)、内容编码(content encoding)等
- Content-Type
- Content-Encoding
- 每个TCP连接只能发送一个请求(用Connection: keep-alive解决)
HTTP/1.1
命令
GET POST PUT PATCH HEAD OPTIONS DELETE
特点
- 持久连接,tcp连接默认不关闭,可被多个请求复用
- 管道机制,在同一个tcp连接中,客户端可以同时发送多个请求(但服务器还是按顺序回应请求)
- Content-Length
- 分块传输,Transfer-Encoding: chunked,用来传输动态操作的数据,可不指定Content-Length
- header里新增Host字段指定服务器的域名
- 队头堵塞,同一个tcp连接里,数据通信是按次序进行的,服务器只有处理完一个回应才会进行下一个回应
SPDY
特点
- Google大佬自行研发的协议
- 主要解决HTTP/1.1效率不高的问题
- 作为HTTP/2的基础
HTTP/2
特点
- 二进制协议,头信息和数据体都是二进制,统称为 帧
- 多工,客户端和服务器都可以同时发送多个请求或回应,且不用按照顺序
- 数据流,同一个连接里连续的数据包可能属于不同的回应,因此需要给数据流(每个请求或回应的所有数据包)编号,客户端发出的数据流ID一律为奇数,服务器发出的ID为偶数
- 头信息压缩,使用gzip或compress压缩,客户端和服务器共同维护一张表,生成索引号,只发送索引号
- 服务器推送,服务器可主动向客户端发送资源,比如主动发送js、css等静态资源,不必等服务端解析HTML后发起请求
参考
HTTP协议入门要点的更多相关文章
- internet协议入门
前言 劳于读书,逸于作文. 原文地址:internet协议入门 博主博客地址:Damonare的个人博客 博主之前写过一篇博客:网络协议分析,在这篇博客里通过抓包,具体的分析了不同网络协议的传送的数据 ...
- Network - 互联网协议入门
珠玉在前,不在赘言 互联网协议入门(一) 互联网协议入门(二) 通信协议:HTTP.TCP.UDP 互联网协议入门 互联网协议入门深入 当你输入一个网址,实际会发生什么? Wireshark基本介绍和 ...
- SNMP协议入门
SNMP协议入门 1.引言 基于TCP/IP的网络管理包含3个组成部分: 1) 一个管理信息库MIB(Management Information Base).管理信息库包含所有代理进程的所有可被查询 ...
- Http协议入门、响应与请求行、HttpServletRequest对象的使用、请求参数获取和编码问题
1 课程回顾 web入门 1)web服务软件作用: 把本地资源共享给外部访问 2)tomcat服务器基本操作 : 启动: %tomcat%/bin/startup.bat 关闭: %tomcat%/ ...
- 通信—HTTP 协议入门(转载)
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等). HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于199 ...
- HTTP协议入门(一)- 版本
当我们在浏览器的地址栏输入URL后,信息会被发送到WEB服务器,服务器得到响应,将数据传输回来,展示到WEB页面上,这其中的传输方法就是HTTP协议. 一.HTTP 0.9 发布于1991年,是首个H ...
- TCP/IP协议入门
TCP/IP协议入门 1. 简介 Transmission Control Protocol/Internet Protocol的简写,即传输控制协议/因特网互联协议.它是网络通信的一套协议集合. 先 ...
- http协议入门---转载
http协议入门 ##(一). HTTP/0.9 HTTP 是基于 TCP/IP 协议的应用层协议.它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口. 最早 ...
- LDAP协议入门
LDAP协议入门(轻型目录访问协议) LDAP简介 轻型目录访问协议,全称:Lightweight Directory Access Protocol,缩写:LDAP,它是基于X.500标准的,但是简 ...
随机推荐
- 使用KRPano资源分析工具强力加密KRPano项目(XML防破解,切片图保护,JS反调试)
软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...
- Python之美--Decorator深入详解
转自:http://www.cnblogs.com/SeasonLee/archive/2010/04/24/1719444.html 一些往事 在正式进入Decorator话题之前,请允许我讲一个小 ...
- selenium page object & Page Factory
package demo; import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa ...
- jquery 双向select控件bootstrap Dual listbox
http://www.cnblogs.com/hangwei/p/5040866.html -->jquery 双向select控件bootstrap Dual listboxhtt ...
- gulp整理
gulp基于node 1.全局安装gulp: $ npm install --global gulp 2.前往项目目录,然后安装作为项目的开发依赖(devDependencies): $ npm in ...
- css 上下滚动效果
<html> <head> <style> .scroll{ overflow:hidden; width:100%; } .scrollout{ height:2 ...
- Spring 系列: Spring 框架简介 -7个部分
Spring 系列: Spring 框架简介 Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级 ...
- Java多线程与静态方法
Java无基础开发Android应用,发现对静态方法理解不够,有如下问题: 在多线程中使用静态方法会发生什么事?也就是说多线程访问同一个类的static静态方法会发生什么事?是否会发生线程安全问题? ...
- NetMQ(四): 推拉模式 Push-Pull
ZeroMQ系列 之NetMQ 一:zeromq简介 二:NetMQ 请求响应模式 Request-Reply 三:NetMQ 发布订阅模式 Publisher-Subscriber 四:NetMQ ...
- Bootstrap UI 编辑器
1. BootSwatchr BootSwatchr 是由 Drew Strickiand 独立开发和维护的,是唯一支持从右到左语言显示的 Bootstrap 自定义构建工具,这也是它的特色之一.Bo ...