HTTP协议位于应用层,下面是TCP协议,TCP协议是传输控制协议,负责数据的传输控制。
HTTP协议只是一个规范,定义了各方面的标准,比如数据的传输并不是杂乱无章的进行传输的,而是有一定的格式,HTTP规定数据格式,然后利用TCP协议来进行传输。再比如,协议的核心是数据的传输,但是为这个核心服务的还有外在的一个因素,HTTP也规定了这些因素的标准,比如代理访问等,都需要按照一定的标准来加以规范。
大家都知道,标准制定了以后,服务器端接收到客户端请求之后,就可以按规章办事,来解析客户端的请求。其实大家静下心来,可以从现实生活当中找到很多为了效率为了协作而制定标准的例子。
通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。
这两种类型的消息由以下几部分组成:
1、请求格式:
一个起始行--------内容包括:请求方式,URI,HTTP协议的版本
一个或者多个头域
一个指示头域结束的空行
和可选的消息体组成。
四部分当中
头域是最重要的
2、响应格式:
HTTP协议的版本、状态代码、描述
响应头
响应正文
HTTP/1.1 200 OK
Server:nio/1.1
Content-type:text/html;charset=GBK
Content-length:102
<html>
<head><title>helloapp</title></head>
<body><h1>hello</h1></body>
</html>
具体详细的介绍见:http://www.cnpaf.net/class/http/index_1.html
HTTP的头域包括
通用头,请求头,响应头和实体头四个部分。
每个头域由一个域名,冒号(:)和域值三部分组成。
域名是大小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。
Cache-Control头域
Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。
各个消息中的指令含义如下:
Public指示响应可被任何缓存区缓存。<BR>
Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。
no-cache指示请求或响应消息不能缓存
no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。
max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。
min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。
max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。
Pragma头域
Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache-Control:no-cache相同
请求头:
Host头域
Host头域指定请求资源的Intenet主机和端口号,必须表示请求url的原始服务器或网关的位置。HTTP/1.1请求必须包含主机头域,否则系统会以400状态码返回。
Referer头域
Referer头域允许客户端指定请求uri的源资源地址,这可以允许服务器生成回退链表,可用来登陆、优化cache等。他也允许废除的或错误的连接由于维护的目的被追踪。如果请求的uri没有自己的uri地址,Referer不能被发送。如果指定的是部分uri地址,则此地址应该是一个相对地址。
Range头域
Range头域可以请求实体的一个或者多个子范围。例如,
表示头500个字节:bytes=0-499
表示第二个500字节:bytes=500-999
表示最后500个字节:bytes=-500
表示500字节以后的范围:bytes=500-
第一个和最后一个字节:bytes=0-0,-1
同时指定几个范围:bytes=500-600,601-999
但是服务器可以忽略此请求头,如果无条件GET包含Range请求头,响应会以状态码206(PartialContent)返回而不是以200(OK)。
User-Agent头域
User-Agent头域的内容包含发出请求的用户信息。
分享到:
相关推荐
计算机网络基础3.2.OSI七层模型各层功能详解及以太网工作原理 计算机网络基础3.3.TCP-IP协议参考模型详解 计算机网络基础4.1.TCP-IP协议栈详述 计算机网络基础4.2.使用Sniffer进行TCP-IP协议栈分析 计算机网络基础...
计算机网络基础3.2.OSI七层模型各层功能详解及以太网工作原理 计算机网络基础3.3.TCP-IP协议参考模型详解 计算机网络基础4.1.TCP-IP协议栈详述 计算机网络基础4.2.使用Sniffer进行TCP-IP协议栈分析 计算机网络基础...
计算机网络基础3.2.OSI七层模型各层功能详解及以太网工作原理 计算机网络基础3.3.TCP-IP协议参考模型详解 计算机网络基础4.1.TCP-IP协议栈详述 计算机网络基础4.2.使用Sniffer进行TCP-IP协议栈分析 计算机网络基础...
计算机网络基础3.2.OSI七层模型各层功能详解及以太网工作原理 计算机网络基础3.3.TCP-IP协议参考模型详解 计算机网络基础4.1.TCP-IP协议栈详述 计算机网络基础4.2.使用Sniffer进行TCP-IP协议栈分析 计算机网络基础...
计算机网络基础3.2.OSI七层模型各层功能详解及以太网工作原理 计算机网络基础3.3.TCP-IP协议参考模型详解 计算机网络基础4.1.TCP-IP协议栈详述 计算机网络基础4.2.使用Sniffer进行TCP-IP协议栈分析 计算机网络基础...
2.2_数据中心基础设施的组成(1) 2.3_数据中心基础设施的组成(2) 2.4_常见的能耗指标 2.5_华为数据中心产品 第三章 配电基础知识 3.1_低压系统及常见的低压电气设备 3.2_常见接地系统及数据中心网络...
《智能仪器原理及应用》第 4 版 赵茂泰 电子工业出版社 大纲执笔人: 黄伟 先修课程: 传感器、 电子技术基础、 测控电路、 单片机原理及应用 大纲审核人: 专业教学指导组 适用专业: 测控技术与仪器 一、课程目标...
LTE_系统_原理_系统组成和技术,包括LTE的技术理论基础,概述,空中接口协议,物理层定义,系统结构演进等,,
掌握计算机网络各层协议的基本工作原理及其所采用 的技术,对当前计算机网络的主要种类和常用的网络协议有较清晰的概念,学会计算机 网络的一些基本设计方法,对典型计算机网络(Internet)的特点和具体实现有基本印象...
《通信网络基础》是普通高等教育“十五”国家级规划教材,主要介绍通信网络的基本原理。 全书共分7章。第1章主要讨论通信网络的基本构成和协议体系、本书所需的数学基础 及通信网络的基本理论问题;第2章详细讨论...
然后深入剖析了UEFI的工作原理,包括UEFIT程模块、各种协议、基础服务、事件、硬盘和文件系统等内容;最后讲解了UEFI的开发,涉及UEFI服务的开发、 UEFI驱动的开发、多任务应用的开发、网络应用的开发、GUI应用的...
详述其设计原理、硬件组成和软件流程,给出部分关键硬件原理图和软件流程图。实践表明,采用CAN-open协议的语音通信系统可以在CAN总线上以极低的语音通信速率(2.4kbit/s)进行语音数据传输,实现语音的广播、组播、点播...
2. 掌握计算机局域网的基本概念和工作原理。 3. 了解网络操作系统的基本知识。 4. 掌握Internet的基础知识,了解电子政务与电子商务的应用。 5. 掌握组网、网络管理与网络安全等计算机网络应用的基本知识...
很基础的东西,高手可以忽略了! 目 录 第1 章 计算机基础知识................................ 1 1.1 计算机发展概况.................................... 1 1.1.1 微处理器和微机的发展............. 1 1.1.2 ...
《GSM原理及其网络优化(第2版)》主要从GSM原理和网络优化的角度出发,首先通过对GSM移动通信系统的组成、优化流程、无线接口理论的介绍,使得用户对GSM网络原理有一定的理论基础。随后通过对呼叫处理流程的分析、...
全书共分为3篇,分别从3个角度观察计算机网络,理解计算机网络的工作原理:第1篇是在平面上观察计算机网络,把计算机网络看做由节点、链路和协议三个元素组成的系统,并介绍了链路和节点上的基本通信技术;...
6.1.3 XMPP 协议的组成 6.1.4 Xmpp介绍 6.1.5 协议内容 6.2 Stun协议 6.2.1 P2P实现的原理 6.2.2 P2P的常用实现 6.2.3 Stun URI 6.2.4 内容 6.2.5 中文内容 6.2.6 开源服务器 6.2.7 公开的免费STUN服务器 6.3 Turn...