`
liuzhiqiang19890403
  • 浏览: 61003 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

http协议了解

 
阅读更多

协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器

 

代理服务器示意图

 

 

代理服务器就是网络信息的中转站,有什么功能呢?

1. 提高访问速度, 大多数的代理服务器都有缓存功能。

2. 突破限制, 也就是FQ了

3. 隐藏身份。

 

 

http协议是无状态的,同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,它并不知道这两个请求来自同一个客户端。 为了解决这个问题, Web程序引入了Cookie机制来维护状态.

 

打开一个网页需要浏览器发送很多次Request:

①当你在浏览器中输入url地址的时候,浏览器发送一次请求获取目标服务器的html,服务器将Reponse返回给浏览器

②浏览器分析Response中的 HTML,发现其中引用了很多其他文件,比如图片,CSS文件,JS文件。

③浏览器会自动再次发送Request去获取图片,CSS文件,或者JS文件。

④等所有的文件都下载成功后。 网页就被显示出来了。

 

 想要了解request的结构图请看:

Request 消息分为3部分,第一部分叫Request line, 第二部分叫Request header, 第三部分是body. header和body之间有个空行, 结构如下图

 

第一行中的Method表示请求方法,比如"POST","GET",  Path-to-resoure表示请求的资源, Http/version-number 表示HTTP协议的版本号

当使用的是"GET" 方法的时候, body是为空的

想要打开看看怎么回事吗?请看:

 

 

 

想要看看reponse的结构示意图:

和Request消息的结构基本一样。 同样也分为三部分,第一部分叫Response line, 第二部分叫Response header,第三部分是body. header和body之间也有个空行,  结构如下图

HTTP/version-number表示HTTP协议的版本号

Response 消息中的第一行叫做状态行,由HTTP协议版本号, 状态码, 状态消息 三部分组成。

状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response.

HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别

1XX  提示信息 - 表示请求已被成功接收,继续处理

2XX  成功 - 表示请求已被成功接收,理解,接受

3XX  重定向 - 要完成请求必须进行更进一步的处理

4XX  客户端错误 -  请求有语法错误或请求无法实现

5XX  服务器端错误 -   服务器未能实现合法的请求

想要看看reponse的结构图吗?请往下看:

 

 

 

get方式和post方式的区别:

1、GET提交的数据会放在URL之后,以?分割URL和传输数据,参数之间以&相连,如EditPosts.aspx?name=test1&id=123456.  POST方法是把提交的数据放在HTTP包的Body中.

2、GET提交的数据大小有限制(因为浏览器对URL的长度有限制),而POST方法提交的数据没有限制.

3、GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.

 

 

 

分享到:
评论

相关推荐

    深入了解http协议

    HTTP协议是基于TCP/IP协议栈的,它的工作流程和特性对理解Web通信至关重要。 1. **基础概念** - HTTP是万维网(WWW)的基础,它允许浏览器向服务器请求数据,如HTML文档、图像和其他资源。 - HTTP/1.0版本由RFC ...

    网络协议TCP/IP实验七 HTTP 协议分析实验

    1. **捕获并分析HTTP协议报文**:通过工具(本实验中使用的是Ethereal)捕获HTTP协议的交互报文,并对其进行分析,了解HTTP协议的报文结构及其工作流程。 2. **理解HTTP协议的工作机制**:通过对捕获的报文进行分析...

    认清http协议本质

    要认清HTTP协议的本质,我们需要从以下几个关键点入手: 1. 请求与响应模型:HTTP通信基于请求-响应模型。客户端发起一个HTTP请求到服务器,服务器处理请求并返回一个HTTP响应。请求由方法(如GET、POST)、URL、...

    深入了解HTTP协议

    【深入理解HTTP协议】 HTTP(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它的设计目的是为了传输数据,并且使得数据传输更加高效、快速。HTTP协议是万维网协会(World Wide Web Consortium,W3C)和...

    HTTP协议详解.pdf

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

    HTTP协议观察工具

    HTTP协议观察工具是Web开发和前后端数据调试过程中的重要辅助软件。它允许开发者深入了解HTTP通信的每一个细节,从而优化网站性能,解决网络问题,确保数据传输的安全与准确。在这个数字化时代,HTTP作为互联网上...

    HTTP协议分析报告

    ### HTTP协议分析报告知识点梳理 ...通过本次实验,我们不仅深入了解了HTTP协议的基本原理和工作流程,还掌握了如何使用Wireshark工具分析网络数据包,这对于理解和解决实际网络问题具有重要意义。

    HTTP协议抓包工具

    HTTP协议是互联网上应用最为广泛的一种网络协议,用于从万维网服务器传输超文本到本地浏览器的传输协议。抓包工具则是网络分析的重要辅助手段,它可以帮助我们查看网络中的数据包,了解网络通信的细节。在学习和研究...

    面试中的HTTP协议

    在面试中,了解HTTP协议的知识是评估一个开发人员基础网络理解能力的重要标准。以下是对HTTP协议的一些核心知识点的详细解释: 1. **HTTP工作原理**: - HTTP是非对称通信协议,基于请求/响应模型。客户端(如...

    HTTP协议详解.doc

    了解HTTP协议是深入理解网页开发和技术架构的关键。 一、HTTP协议与URL HTTP协议基于TCP/IP连接工作,通过URL(统一资源定位符)来定位网络资源。URL的格式包括协议类型(http)、主机名(host)、可选的端口号...

    HTTP协议中文文档

    这份"HTTP协议中文文档"将深入解析这些概念,帮助读者更全面地了解和运用HTTP协议。无论你是前端开发者、后端工程师还是系统管理员,都能从中受益。阅读这份文档,可以提升你在网络通信领域的专业素养。

    Http协议中文版

    **Http协议中文版** Http(超文本传输协议)是互联网上应用最为广泛的一种网络协议,它定义了客户端(浏览器)和服务器之间的通信格式。本文将深入解析Http协议的基础概念、工作原理及其在实际应用中的重要性。 **...

    http协议的相关介绍

    了解这些基础后,我们可以通过查看具体的HTTP交互来更深入地学习HTTP协议。例如,通过Wireshark等网络抓包工具,可以分析HTTP请求和响应的完整过程,包括头部信息、请求方法(GET、POST等)、请求URL、状态码等。 ...

    HTTP协议中文版

    通过这些知识点,读者可以对HTTP协议有一个全面的认识,从基本概念到实际操作,再到标准化流程和协议的特性,都会有详细的了解。这些内容对于网络开发人员、服务器管理人员以及任何需要深入理解互联网传输协议的人员...

    实现http协议两端httpserver和httpclient

    在本项目中,我们将探讨如何使用VC++来实现HTTP协议的两端——HTTP Server和HTTP Client。 首先,我们要理解HTTP Server的工作原理。HTTP Server是接收客户端(通常是Web浏览器)发送的HTTP请求,并返回HTTP响应的...

    基于STM32F103单片机,配合HTTP协议上传数据到服务器

    【基于STM32F103单片机,配合HTTP协议上传数据到服务器】的知识点主要涵盖以下几个方面: 1. **STM32F103单片机**:STM32是意法半导体(STMicroelectronics)推出的一种基于ARM Cortex-M3内核的微控制器系列。STM32...

Global site tag (gtag.js) - Google Analytics