`
soardragon
  • 浏览: 316787 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

HTTP是怎样工作的

阅读更多
由于HTTP协议是基于请求/响应范式的(相当于客户机/服务器)。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。

  许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。

  这个过程就好像我们打电话订货一样,我们可以打电话给商家,告诉他我们需要什么规格的商品,然后商家再告诉我们什么商品有货,什么商品缺货。这些,我们是通过电话线用电话联系(HTTP是通过TCP/IP),当然我们也可以通过传真,只要商家那边也有传真。

  以上简要介绍了HTTP协议的宏观运作方式,下面介绍一下HTTP协议的内部操作过程。

  在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。这就好像上面的例子,我们电话订货的全过程。

  其实简单说就是任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用户请求。你的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。在这一过程中,在网络上发送和接收的数据已经被分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。TCP/IP决定了每个数据包的格式。如果事先不告诉你,你可能不会知道信息被分成用于传输和再重新组合起来的许多小块。

  也就是说商家除了拥有商品之外,它也有一个职员在接听你的电话,当你打电话的时候,你的声音转换成各种复杂的数据,通过电话线传输到对方的电话机,对方的电话机又把各种复杂的数据转换成声音,使得对方商家的职员能够明白你的请求。这个过程你不需要明白声音是怎么转换成复杂的数据的。
分享到:
评论

相关推荐

    模拟TOMCAT工作的全部过程

    【TOMCAT工作原理详解】 TOMCAT,作为Apache软件基金会的开源项目,是Java Servlet和JavaServer Pages(JSP)技术的Web应用服务器,它为开发者提供了在Java环境中部署和运行Web应用的平台。本篇文章将深入解析...

    纯PB12.6(Powerbuild12.5)调用 post http

    是PowerBuilder的工作区文件,保存了项目的组织和打开状态,帮助开发者快速定位到HTTP调用的代码。 在实际开发中,创建一个HTTP POST请求通常涉及以下步骤: 1. 创建HTTP连接对象。 2. 设置请求头,包括Content-...

    前端必读:浏览器内部工作原理.pdf

    当渲染引擎获得HTML文档内容后,它首先会将HTML解析为DOM树,然后创建一个Render树来表示哪些内容需要以怎样的样式显示。之后,浏览器会进行布局计算,确定每个节点的位置和尺寸,并最终将计算好的像素值绘制到屏幕...

    【试读】计算机是怎样跑起来的_计算机是怎样跑起来的._

    总的来说,《计算机是怎样跑起来的》这本书将带领读者从底层逻辑到上层应用,全面探索计算机的工作原理。理解这些基础知识对于任何想要深入学习计算机科学的人来说都是至关重要的。通过阅读这本书,读者不仅可以了解...

    Windows 10 开启FTP并绑定HTTP服务

    7. **资源管理器访问**:测试FTP服务是否正常工作,可在资源管理器地址栏输入FTP地址,使用创建的用户账户进行访问。 8. **用户权限配置**:在IIS管理器中,可以对FTP站点的目录权限进行编辑,为不同用户提供不同...

    PB调用http apiPB解析json

    6. **API.pbw文件**:这可能是PowerBuilder的工作区文件,包含了项目中的所有源代码、对象定义和其他设置。打开此文件可以查看和编辑PB项目的详细信息。 7. **api.pbl和api.pbt**:它们分别是PowerBuilder的库文件...

    PostMan for linux(http请求发送 , 接口调试工具)

    PostMan是一款强大的API开发、测试和文档化工具,尤其适合于Linux用户进行HTTP请求的发送与接口调试...通过熟练掌握PostMan的使用,可以更加高效地进行HTTP请求的发送和接口的调试工作,为软件开发流程带来极大的便利。

    HTTP2.0协议描述

    HTTP/2.0 由 IETF (Internet Engineering Task Force) 的 HTTPbis 工作组负责开发,该工作组旨在对 HTTP 协议进行迭代更新,以适应现代互联网的需求。 在HTTP/1.1 中,随着网络环境的发展,其固有的设计缺陷逐渐...

    浏览器如何工作.docx

    在浏览器的工作流程中,当用户在地址栏输入像 "google.com" 这样的 URI 时,浏览器首先会通过网络组件向服务器发起 HTTP 请求。网络组件是一个平台无关的接口,负责处理跨平台的网络通信。接着,服务器响应请求并...

    http数据类模块.rar

    通过阅读源码,我们可以理解内部的工作流程,例如怎样封装HTTP报文,如何解析响应,以及如何处理异步操作。 总的来说,易语言HTTP数据类模块是易语言环境下进行网络编程的重要工具,它简化了开发者处理HTTP请求的...

    [delphi]简单HTTP服务器架设源码

    【标题】:“[delphi]简单HTTP服务器架设源码” 涉及到的...学习这个DEMO可以帮助开发者理解HTTP服务器的工作原理,以及在Delphi中实现网络服务的方法。然而,具体的实现细节和功能扩展,需要查看源代码才能深入了解。

    网络是怎样连接的_户根勤1

    《网络是怎样连接的》是由日本作家户根勤撰写的一本深入浅出的网络技术图书,旨在全面介绍网络的运作机制。这本书的第二版保持了前一版的独特风格,旨在为读者展示网络的全貌,而不仅仅是停留在理论层面。通过一个从...

    Web服务器的工作原理

    很多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了什么动作?JavaServletAPI(例如ServletContext,ServletRequest,Servlet...

    如何成为优秀的工程师.pdf

    例如,对于搜索商品列表的操作,应使用适当的HTTP方法,如POST,而不是GET,因为GET通常用于获取数据,而不应该用于改变数据状态。同样地,对于数据的增删改操作,应明确使用insert、delete、update等SQL语句,而...

    java http token请求代码实例

    本文主要介绍了 Java HTTP Token 请求的代码实例,通过示例代码详细介绍了 Java HTTP Token 请求的实现过程,对大家的学习或者工作具有一定的参考学习价值。 知识点1: Java HTTP Token 请求的概念 Java HTTP Token...

    编码的奥秘-计算机是怎样练成的

    《编码的奥秘-计算机是怎样练成的》这本书深入浅出地揭示了计算机系统的底层运作原理,对于每一位渴望深入了解计算机的程序员来说,都是不可或缺的知识宝典。书中涵盖了一系列与编码和计算机工作方式密切相关的主题...

    Httpmro_http测试工具.rar

    3. **负载测试**:通过持续增加并发用户数量,观察服务器在不同负载下的表现,以确保其在压力下仍能正常工作。 4. **错误检测**:测试工具会检查服务器返回的错误代码,如404(未找到)、500(内部服务器错误)等,...

    实时监控网卡的工作状态 (更新)

    它是怎样实现的呢,其实很简单,如果您感兴趣的话,不妨花几分钟看看我写的这个小程序。 2、特点:不依赖具体协议,直接读取中间层驱动接口,能够实时监控网线是否被插拔、网卡是否被插拔或禁用。网卡流量等信息。

    来自实例的经典分析--HTTP协议

    本文将对HTTP协议进行详细的实例讲解,内容较多,希望对大家的开发工作或者测试工作有所帮助。协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它...

    使用Jmeter进行http接口测试

    - **需求分析**:首先需要明确测试的目标是什么,需要达到怎样的测试效果。 - **接口文档**:获取开发人员提供的接口文档,文档中应包含接口的基本信息如URL、请求方式(GET/POST等)、请求参数、返回结果格式等。 ...

Global site tag (gtag.js) - Google Analytics