`
wwty
  • 浏览: 542930 次
  • 性别: Icon_minigender_1
  • 来自: 北京-郑州
社区版块
存档分类
最新评论

HTTP协议基础原理及组成

阅读更多
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头域的内容包含发出请求的用户信息。
分享到:
评论

相关推荐

    编程必备基础计算机组成原理+操作系统+计算机网络.pdf

    计算机组成原理是计算机科学的基础之一,它是研究计算机硬件的组成、结构、工作原理和编程的学科。以下是计算机组成原理的知识点总结: 1. 计算机基础概要:计算机是指能够自动执行程序的电子设备,包括硬件和软件...

    常用网络协议原理大全

    以上只是网络协议原理大全中的一部分内容,每个协议都有其特定的用途和实现方式,理解并掌握这些协议的工作原理,能帮助我们更好地理解网络通信的本质,解决网络问题,优化网络性能。通过深入学习这个资源,无论是...

    Http协议原理详解

    总结,HTTP协议是构建Web应用的基础,其简单、灵活的特性使得网络通信变得高效且易于实现。了解和掌握HTTP协议原理对于开发和调试Web应用至关重要。随着技术的发展,HTTP也在不断演进,以适应更加复杂和高效的需求。

    http协议基本原理

    以上就是HTTP协议的基本原理,包括其工作方式、请求响应结构、主要方法、状态码、版本以及与安全相关的HTTPS协议。这些知识是理解和开发Web应用的基础,也是网络编程领域的重要组成部分。通过深入理解HTTP,开发者...

    HTTP协议原理+实践 Web开发工程师必学

    总结,HTTP协议是Web开发的基础,理解其原理有助于提升开发效率和网站性能。不断发展的HTTP标准,如HTTP/2、HTTP/3,提供了更高效、安全的通信方式,Web开发工程师应持续关注并学习。在实际工作中,合理运用HTTP特性...

    http协议工作原理.ppt

    HTTP(超文本传输协议,Hypertext Transfer Protocol)是互联网上应用最为广泛的一种网络协议,它是Web服务的基础,用于在客户端(通常是浏览器...理解HTTP的工作原理对于优化Web应用的性能和网络资源的利用至关重要。

    计算机组成原理概论的基础知识

    ### 计算机组成原理概论的基础知识 #### CPU(中央处理器) 计算机中的核心部件,主要由运算器和...理解这些基础知识有助于我们更好地掌握计算机的工作原理,并为进一步学习高级编程语言和软件开发打下坚实的基础。

    李劲松路由协议基础01

    在"李劲松路由协议基础01"这个主题中,我们将会探讨路由协议的基础概念、工作原理以及常见的路由协议类型。 首先,路由协议是网络中的指导规则,它们定义了路由器如何发现、存储和使用路径信息,以便在多网络环境中...

    HTTP协议原理+实践 Web开发工程师必学.txt

    HTTP协议是Web开发中最基础也是最重要的协议之一,了解其工作原理和技术细节对于成为一名优秀的Web开发工程师至关重要。无论是前端还是后端开发人员,都应该深入学习HTTP协议的相关知识,这样才能更好地应对实际开发...

    计算机组成原理-白中英-第五版_计算机组成原理_白中英_

    书中会详细讲解存储器的分类、工作原理及性能指标。 6. **输入/输出(I/O)系统**:I/O设备如键盘、鼠标、显示器等如何与计算机交换数据,以及中断、DMA(直接内存访问)等I/O控制方式的工作原理。 7. **总线与...

    计算机组成原理专科课件

    计算机组成原理是计算机科学与技术领域的一门基础课程,它主要研究计算机系统的基本结构、工作原理和设计方法。这门专科课件“计算机组成原理”是针对高职高专层次的学生设计的,旨在帮助他们深入理解计算机硬件的...

    王道考研——组成原理PPT.zip

    《组成原理》是计算机科学与技术专业的重要课程之一,它主要研究计算机硬件系统的基本组成和工作原理。在考研中,这一部分的知识点是必不可少的,因为它涵盖了计算机硬件的基础理论,对于理解和设计计算机系统至关...

    408考研计算机组成原理

    计算机组成原理是计算机科学与技术专业的重要基础课程,对于准备408考研的学生来说,它涵盖了计算机硬件系统的核心概念和工作原理。以下是对压缩包中各个文件内容的详细概述: 1. **计算机基础.pdf**:这部分通常会...

    王道考研计算机组成原理课件ppt

    它涵盖了计算机组成原理这一核心课程的关键知识点,旨在帮助考生深入理解和掌握计算机系统的基础架构和工作原理。 计算机组成原理是计算机科学与技术专业的重要基础课程,主要讲解计算机硬件系统的构成和功能。通过...

    计算机组成原理及答案

    本压缩包文件包含了针对这门课程的本科生及研究生试题及答案,可以帮助学习者深入理解和掌握计算机组成原理的核心概念。 1. **数据表示与运算**:这部分内容包括二进制、八进制、十六进制的转换,数值、字符和...

    计算机组成原理PPT.rar

    计算机组成原理是计算机科学与技术领域的一门基础课程,它主要研究计算机系统中硬件部分的结构、工作原理以及数据在计算机内部的表示和处理。"王道考研计算机组成原理全套PPT"是一份专为考研准备的学习资料,旨在...

    TCPIP协议原理flash动画讲解视频

    通过观看《TCP/IP协议原理flash动画讲解视频》,无论是初学者还是有一定基础的学习者,都能对TCP/IP协议有更深入的理解,为网络编程、网络安全分析或是网络管理员等相关工作打下坚实的基础。这份资料将理论与实践相...

    计算机组成原理教程 计算机组成原理教程

    10. **输入/输出(I/O)系统**:探讨中断和DMA(直接内存访问)两种I/O方式,以及常见的I/O设备,如键盘、鼠标、显示器和硬盘的工作原理。 通过《全国高等院校信息管理专业系列教材 计算机组成原理教程》的学习,...

    HTTP协议详解.pdf

    HTTP 协议详解 HTTP 协议是超文本传输协议(HyperText Transfer Protocol)的缩写,是目前万维网(World Wide Web)上最流行的通信...了解 HTTP 协议的详细知识可以帮助我们更好地理解万维网的工作原理和应用场景。

Global site tag (gtag.js) - Google Analytics