文档库 最新最全的文档下载
当前位置:文档库 › HTTP流程的基本原理

HTTP流程的基本原理

HTTP流程的基本原理
HTTP流程的基本原理

HTTP流程的基本原理

HTTP协议是一种请求/应答协议。与主机建立连接后,客户以请求方法,URI和协议版本的形式向服务器发送请求,其中包括请求修改、客户信息和可能的正文内容。

服务器用包括消息协议版本和成功或错误代码的状态进行应答,包括服务器信息,实体维护信息和可能的实体内容的类MIME消息。

大部分的HTTP通信由用户代理引发,由发送到一些原服务器上资源的请求构成。最简单的情形,可以经用户代理(UA,User Agent)和原服务器之间的单一连接完成。

在HTTP中,客户端总是通过建立一个连接与发送一个HTTP请求来发起一个事务。服务器不能主动去与客户端联系,也不能给客户端发出一个回叫连接。客户端与服务器端都可以提前中断一个连接。例如,当用一个浏览器下载一个文件时,用户可以通过单击"停止"键来中断文件的下载,关闭与服务器的HTTP连接。

HTTP协议的工作原理主要包括四个步骤(如图10-1所示)。

(1)连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。

(2)请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST 用于FORM参数的传递)。GET命令的格式为:GET 路径/文件名 HTTP/1。其中,文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。

(3)应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。例:假设客户机与https://www.wendangku.net/doc/1416098786.html,:8080/mydir/index.html建立了连接,就会发送GET命令:GET /mydir/index.html HTTP/1.0。主机名为https://www.wendangku.net/doc/1416098786.html,的Web服务器从它的文档空间中搜索子目录mydir的文件index.html。如果找到该文件,Web服务器把该文件内容传送给相应的Web浏览器。为了告知 Web浏览器传送内容的类型,Web服务器首先传送一些HTTP头信息,然后传送具体内容(即HTTP体信息),HTTP头信息和HTTP体信息之间用一个空行分开。其中,常用的HTTP头信息如下。

HTTP 1.0 200 Ok:这是Web服务器应答的第一行,列出服务器正在运行的HTTP版本号和应答代码。代码"200 OK"表示请求完成。

MIME_Version:1.0:它指示MIME类型的版本。

content_type:类型:这个头信息非常重要,它指示HTTP体信息的MIME类型。如:content_type:text/html 指示传送的数据是HTML文档。

content_length:长度值:它指示HTTP体信息的长度(以字节为单位)。

(4)关闭连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其他Web浏览器能够与Web服务器建立连接。

实际上,目前万维网上有多种结构和配置的高速缓存和代理被实验或使用。这些系统包括节省越洋带宽的全国代理层,广播或多点通信缓存接口,通过CD-ROM分配子缓存数据的机构,等等。HTTP系统应用在宽频带连接的企业局域网中,通过PDA(Personal Digital Assistant,掌上电脑)的低耗无线连接和断续连接的访问。HTTP/1.1的目标是支持各种各样的应用配置,引进协议结构满足那些需要较高可靠性、可以排除故障或至少指示故障的网络应用的要求。

HTTP通信通常发生在TCP/IP连接上。默认端口是TCP 80,不过其他端口也可以使用。在互联网或其他网络上,这并不妨碍HTTP应用在其他协议的顶端。HTTP仅仅期望可靠的传输;任何提供这种保证的协议都可以使用。

在HTTP/1.0中,大部分的实现为每个请求/应答交换使用了新连接。而HTTP/1.1中,一个连接可以用于一个或更多请求/应答交换,虽然连接可能会因为各种原因中断。

《网络协议本质论》第10章HTTP/HTTPS协议原理及应用精解,本章将对HTTP协议的原理进行详细的介绍,并对其应用编程进行举例说明。本节为大家介绍HTTP流程的基本原理。

IIS架构与HTTP请求处理流程

****************************************************************** ******************************************************************* Windows操作系统中的IIS负责提供互联网服务,一台运行了IIS的计算机可以看成是一台Web服务器。 Windows XP SP2 中IIS主版本号为5,Windows 2003 Server为6,Vista和Windows Server 2008为7。对于Windows 2003 Server,其默认支持的https://www.wendangku.net/doc/1416098786.html,版本为1.1,因此必须单独安装.NET Framework 2.0以上版本[1]。 目前,IIS 6是使用最为广泛的版本,IIS 5已基本不在Web服务器上部署, IIS 6与IIS 5相比在系统架构上有着较大的差异,IIS 7与IIS 6相比,基本架构并没有根本性的变化,但在许多方面有新的增强和改进。本书选择IIS 6/7进行介绍,大部分内容也适合于IIS 5,但IIS 5一些已过时的特性就不介绍了。 首先,我们来仔细分辨一下三个很容易混淆的基本概念。 8.1.1网站、Web应用程序和虚拟目录 在IIS中可以创建网站、Web 应用程序和虚拟目录,以便与计算机网络上的用户共享信息。“网站”、“Web 应用程序”和“虚拟目录”这三个概念的关系如图 8?1所示。 图 8?1 网站,应用程序与虚拟目录 简而言之,一个“网站(Web Site)”包含一个或多个“ Web 应用程序(Web Application)”,一个Web 应用程序包含一个或多个“虚拟目录(Virtual Directory)”,而虚拟目录则映射到 Web 服务器或远程计算机上的物理目录。 图 8?2所示为运行IIS 7的一个Web服务器。 图 8?2 IIS 7中的网站,应用程序与虚拟目录 图 8?2中可以清楚地看到此Web服务器上有两个“网站”:Default Web Site和NewWebSite,其中Default Web Site网站中有三个“Web 应用程序”:HappyBookShopService、HappyBookShopWebSite和OnlineAlbum。而HappyBookShopWebSite应用程序下的每一个子文件夹都是一个“虚拟目录”。最顶层的虚拟目录称为“根虚拟目录”,图8?2中Web应用程序HappyBookShopWebSite的根虚拟目录为“/HappyBookShopWebSite”。

流程图的各个图标详解

流程图的各个图标详解 1、各司其职的形状 在我的流程图中,适用于不同目的和功能的形状都有各自确定的规范。到目前为止,我一共定义了以下一些形状: (1)开始和结束 作为整张流程图的头和尾,必须标清楚到底具体指哪个页面,以免日后出现歧义。 (2)网页 如你所见,网页的形状是一个带有漂亮的淡蓝色过渡效果的长方形,它的边框为深蓝色,中间写明了这个网页的用途,括号中的数字代表这个形状所对应的demo文件的名称(比如这里是2.html),我有时会把流程图输出为网页的形式,并把每个网页形状和它所对应的demo文件链接起来,这样查看起来非常方便。对OmniGraffle来说这是小菜一碟,如果你被迫用Visio,嗯…… 另外,所有从形状出来的线条,都具有和此形状边框一样的颜色。这样的做法不仅看起来漂亮,在复杂的流程图中还能轻易地标明各形状的关系。我没有见过类似的做法,所以这是由我首创也说不定,呵。 (3)后台判断

很常见的一个形状。我在用法上有一点和其他人的不同在于,我几乎总是让…是?的分支往下流动,让…否?的分支向右流动。因为流程图一般都是从上向下、从左到右绘制的,遵循上述规则一方面可以让绘制者不用为选择方向操心,另一方面也方便了读者阅读。 (4)表单错误页 既然有表单,当然会有错误信息。其实这个信息很重要,用户出错时惶恐不安,就靠着错误提示来解决问题了。你不在流程图里说什么时候显示错误页、不在demo里提供错误页,有些程序员会直接在网页上写个“错误,请检查”,所以UI设计师一定要对这个东西重视起来。 但一般来说也没必要把每种错误都在流程图中表示出来,因为含有两个文本框的表单就有三种出错情况了,多了就更不用说了。所以我都是把错误页变为表单的附属页,比如表单页的编号为2,那么此表单错误页的编号就从2.1开始排下去,每种错误放到一个附属页中,这样程序员在拿到demo时也能搞清楚什么意思。 结合网页和表单的形状,一个表单验证的流程图就是这样的:

HTTP协议简介及其工作原理

HTTP协议简介及其工作原理 1.HTTP的概述 超文本传输协议(HTTP)是万维网应用层的协议,是通过两个程序实现:一个是客户端程序(一般称为浏览器),另一个是服务器(常称Web服务器)。这两个通常运行在不同的主机上通过交换HTTP报文来完成网页请求和响应。并且HTTP定义了报文的结构和客户/服务器之间交换报文的规则。 2. HTTP的工作流程 浏览器可以向web服务器发送请求并显示收到的网页,当用户在浏览器地址栏中输入一个URL或点击一个超连接时,浏览器就向服务器发出了HTTP请求,该请求被送往由URL 指定的WEB服务器,WEB服务器接收到请求后,进行相关文档的检索并以HTTP规定的格式送回所要求的文件或其他相关信息,再由用户计算机上的浏览器负责解释和显示。 在HTTP协议中,由于WEB服务器在发送用户要求的文档过程中,并不储存任何有关客户端的状态信息。如果某个客户端在几秒钟内两次要求同一文档,服务器绝对不会认为不合理,因为它根本不记得用户端曾经来访过,因此HTTP 不维持客户端状态,故它又被称为无状态协议。 3. HTTP运作过程中的连接 3.1连接过程说明 假设某个网页有10个JPFG图像,总共11个对象存在同一个服务器中,该网页的基本文档形式URL为: https://www.wendangku.net/doc/1416098786.html,/somedepartment/home.index 当采用HTTP/1.0时,WEB服务过程: ⑴.HTTP的客户端启用了对https://www.wendangku.net/doc/1416098786.html,服务器的TCP连接,该服务器的80 号端口(HTTP的默认端口)用来监听来自网络的网络服务请求。 ⑵. HTTP的客户端通过第一步建立的链接套接字发送“请求报文”。请求报文中包含了文 档的路径名(/somedepartment/home.index )。 ⑶.HTTP服务器通过第一步建立连接套接字收到了该请求报文,从磁盘或内存中查找 /somedepartment/home.index,将文档封存在HTTP的“相应报文”中,并通过先前建立的套接字将该报文送到客户端。 ⑷. HTTP服务器告诉TCP断开连接(TCP在客户端完全收到响应报文之前不会断开TCP 连接)。 ⑸.当客户端接受完响应报文,本次TCP连接即告结束。到达的报文说明所封装的内容是

HTTP请求报头详解

HTTP头字段包括4类: general-header ; request-header ; response-header ; entity-header . ********************************************************************* ********** General Header Fields ============================= general header是request、response都可用的, 但是不能用于entity. --Cache-Control --Connection --Date --Pragma --Trailer --Transfer-Encoding --Upgrade --Via --Warning ********************************************************************* ********** Request Header Fields ====================== request-header fields 允许客户端传递关于request和客户端的附加信息到服务端, --Accept --Accept-Charset --Accept-Encoding --Accept-Language --Authorization --Expect --From --Host --If-Match --If-Modified-Since --If-None-Match --If-Range --If-Unmodified-Since

流程图基本形状解析

流程图里的形状符号的代表意义

VISIO里的基本流程图形状 Axure里的流程图形状组件面板 对于画流程图,是我们经常会遇到的问题。我们和程序工程师沟通,用再多的口水,也无法挑明的事情,画一张简明的流程图,就能很直白的说明关键问题。 有时候你可能会懊恼,因为程序员的思维犹如计算机,你告诉他为什么没有用,你就告诉他该怎么做,是左是右,是0是1就好了。这个时候,产品经理需要的是理性思维,清晰的思路,如果你不清晰,工程师大多数会跟着你的思路乱做一团。所以多画几个流程,多根据页面需求画清晰的流程,就能解决实际的问题。 话不多说,本章主要介绍流程图里面的工具,因为图形其实很好介绍,简单的英文翻译就好了,所以也顺带说说这些图形在流程里的作用。方式还和以前一样,编号,对号入座,咱们来一个萝卜,一个坑: 1、矩形 作用:一般用作要执行的处理(process),在程序流程图中做执行框。 在axure中如果是画页面框架图,那么也可以指代一个页面。有时候我们会把页面和执行命令放在同一个流程中做说明,这个时候将两类不同的矩形做色彩区别,然后做说明就好了。 2、圆角矩形或者扁圆 作用:表示程序的开始或者结束,在程序流程图中用作为起始框或者结束框。 3、斜角矩形 作用:斜角矩形平时几乎不使用,可以视情况自行定义。或者在其他的流程图中,有特殊含义,暂不知晓,也希望有识之士指点一二。 4、菱形 作用:表示决策或判断(例如:If...Then...Else),在程序流程图中,用作判别框。 5、文件 作用:表达为一个文件,可以是生成的文件,或者是调用的文件。如何定义,需要自己根据实际情况做解释。 6、括弧

必须掌握的http协议知识

HTTP协议 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议。所有的www文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。是用于从万维网(Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP/0.9 已过时。只接受GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持POST 方法,所以客户端无法向服务器传递太多信息。 HTTP/1.0 这是第一个在通讯中指定版本号的HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。HTTP/1.1 当前版本。持久连接被默认采用,并能很好地配合代理服务器工作。还支持以管道方式同时发送多个请求,以便降低线路负载,提高传输速度。 HTTP/1.1相较于HTTP/1.0 协议的区别主要体现在: ?缓存处理 ?带宽优化及网络连接的使用 ?错误通知的管理 ?消息在网络中的发送 ?互联网地址的维护 ?安全性及完整性

HTTP 工作原理 HTTP协议工作于客户端-服务端架构为上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。 Web服务器有:Apache服务器,IIS服务器(Internet Information Services)等。 Web服务器根据接收到的请求后,向客户端发送响应信息。 HTTP默认端口号为80,但是你也可以改为8080或者其他端口。 HTTP三点注意事项: ?HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 ?HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。 ?HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 以下图表展示了HTTP协议通信流程:

http协议请求响应报文格式及状态码详解

HTTP协议报文格式 HTTP协议(Hypertext Transfer Protocol――超文本传输协议)浏览器端(客户端)向WEB 服务器端访问页面的过程和HTTP协议报文的格式。 基于HTTP协议的客户机访问包括4个过程,分别是建立TCP套接字连接、发送HTTP请求报文、接收HTTP应答报文和关闭TCP套接字连接: 1. 创建TCP套接字连接 客户端与WEB服务器创建TCP套接字连接,其中WEB端服务器的地址可以通过域名解析确定,WEB端的套接字侦听端口一般是80。 2. 发送HTTP请求报文 客户端向WEB服务端发送请求报文,HTTP协议的请求报文格式为: 请求消息= 请求行(实体头信息)CRLF[实体内容] 请求行= 方法URL HTTP版本号CRLF 方法= GET|HEAD|POST|扩展方法 URL = 协议名称+宿主名+目录与文件名 其中"CRLF"表示回车换行。 "请求行"中的"方法"描述了对指定资源执行的动作,常用的方法"GET"、"HEAD"和"POST"等3种,它们的含义如表15-8所示: 请求报文 一个HTTP请求报文由请求行(request line)、请求头部(header)、空行和请求数据4个部分组成,下图给出了请求报文的一般格式。 (1)请求行 请求行由请求方法字段、URL字段和HTTP协议版本字段3个字段组成,它们用空格分隔。例如,GET /index.html HTTP/1.1。 HTTP协议的请求方法有GET、POST、HEAD、PUT、DELETE、OPTIONS、TRACE、CONNECT。这里介绍最常用的GET方法和POST方法。 GET:当客户端要从服务器中读取文档时,使用GET方法。GET方法要求服务器将URL定位的资源放在响应报文的数据部分,回送给客户端。使用GET方法时,请求参数和对应的值附加在URL后面,利用一个问号(“?”)代表URL的结尾 与请求参数的开始,传递参数长度受限制。例如,/index.jsp?id=100&op=bind。POST:当客户端给服务器提供信息较多时可以使用POST方法。POST方法将请求参数封装在HTTP请求数据中,以名称/值的形式出现,可以传输大量数据。 表15-8 HTTP请求方法

HTTP请求方法及响应码详解(http get post head)

HTTP是Web协议集中的重要协议,它是从客户机/服务器模型发展起来的。客户机/服务器是运行一对 相互通信的程序,客户与服务器连接时,首先,向服务器提出请求,服务器根据客户的请求,完成处理 并给出响应。浏览器就是与Web服务器产生连接的客户端程序,它的端口为TCP的80端口,。浏览器 与Web 服务器之间所遵循的协议就是HTTP。 HTTP的早期版本为HTTP/0.9,它适用于各种数据信息的简洁快速协议,但是其远不能满足日益发展各 种应用的需要。但HTTP/0.9作为HTTP协议具有典型的无状态性:每个事务都是独立进行处理的,当 一个事务开始就在客户与服务器之间建立一个连接,当事务结束时就释放这个连接。HTTP/0.9包含Simple-Request&Simple-Responsed的报文结构。但是客户无法使用内容协商,所以服务器也无法 返回实体的媒体类型。 1982年,Tim Berners-Lee提出了HTTP/1.0,在此后的不断丰富和发展中,HTTP/1.0成为最重要 的面向事务的应用层协议。该协议对每一次请求/响应,建立并拆除一次连接。其特点是简单、易于管理,所以它符合了大家的需要,得到了广泛的应用。其缺点是仍会发生下列问题:对用户请求响应慢、网络拥 塞严重、安全性等。 1997年形成的HTTP/1.1,也就是现在普遍使用的协议,在持续连接操作机制中实现流水方式,即客户 端需要对同一服务器发出多个请求时,其实现在多数的网页都是有多部分组成(比如多张图片),可用 流水线方式加快速度,流水机制就是指连续发出多个请求并等到这些请求发送完毕,再等待响应。这样 就大大节省了单独请求对响应的等待时间,使我们得到更快速的浏览。 另外,HTTP/1.1服务器端处理请求时按照收到的顺序进行,这就保证了传输的正确性。当然,服务器端 在发生连接中断时,会自动的重传请求,保证数据的完整性。 HTTP/1.1还提供了身份认证、状态管理和Cache缓存等机制。这里,我想特别提一下关于HTTP/1.1 中的Cache缓存机制对 HTTP/1.0的不足之处的改进,它严格全面,既可以减少时间延迟、又节省了带宽。HTTP/1.1采用了内容协商机制,选择最合适的用户的内容表现形式。 现在,很多地方都有用到的虚拟主机技术在HTTP/1.1中也可以实现。所谓的虚拟主机技术,就是同一 主机地址实际对应多台主机。通俗的讲,当你同时在一个网站申请两个主页时,用协议分析仪可以发现 其实这两个主页对应的是同一个IP地址。这样用多台完全相同的机器形成WWW服务器就可以提高处 理的吞吐量。 传统的解决方案是改造域名服务器使其可以根据一定的算法将同一域名解释成不同的IP地址。分别对应 虚拟主机的每台机器,其缺点是要求每台机器占用完全独立的IP地址,这与IP地址的缺乏是相矛盾的。HTTP/1.1提供的解决方案在HTTP协议自身中加入了指定不同主机的功能,从而多台主机可以共享一个IP地址,既提高了性能又便于管理。 因为HTTP/1.1是Internet现行的标准协议,这里详细介绍其相关语法。 首先,HTTP/1.1格式可写为: 其中请求方法是请求一定的Web页面的程序或用于特定的URL。可选用下列几种: GET:请求指定的页面信息,并返回实体主体。 HEAD:只请求页面的首部。 POST:请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。 PUT:从客户端向服务器传送的数据取代指定的文档的内容。

HTTP协议详解

引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/的第六版,HTTP/的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 一、HTTP协议详解之URL篇 http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:":"port][abs_path] http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;如果URL

http协议交互过程

竭诚为您提供优质文档/双击可除 http协议交互过程 篇一:wireshake抓包分析tcp与http过程详解 http协议报文格式详解 在我们日常生活中最常见的应用环境就是上网浏览网页,很多上班族到办公室的第一件事就是打开电脑,而开机后的第一件事就是打开ie、Firefox、myie、greenbrowser、opera等浏览器时,做的第一件事就是浏览一下例如.cn,的新闻,而这种简单的应用操作,完成的交互过程就是一个典型的http协议的应用过程。 http是基于tcp的连接,因此,建立http连接必须经过tcp的过程,tcp的建立过程是3次握手的过程。然后就是http过程,http只有两种报文,请求和应答报文。完成http过程后,3次断开tcp连接。 http tcp的第一阶段 http开始之前先3次握手,第一阶段就是客户向服务器发送同步请求,flag字段的syn位置1。 第二阶段

第二阶段就是服务器向客户回复一个ack包,其中Flag 字段的syn位和ack字段置1。 tcp的第三阶段: tcp的第三阶段是客户向服务器发送ack,至此,tcp的3次握手结束 tcp三次握手结束之后就是http请求 客户发出http请求之后,服务器收到请求发送ack: 服务器发送应答报文 篇二:http协议分析报告实例 http协议分析 1实验目的 分析http协议报文首部格式,理解http协议工作过程2实验内容 截获http报文,分析http协议报文首部格式,学习http 协议工作过程。3实验原理 超文本传送协议http(hypertexttransferprotocol),是万维网客户程序与万维网服务器程序之间的交互所要严 格遵守的协议。http是一个应用层协议,它使用tcp连接进行可靠的传送。对于万维网站点的访问要使用的http协议。 http的uRl的一般形式是:http://:/ www采用b/s结构,客户使用浏览器在uRl栏中输入http 请求,即输入对方服务器的地址,向web服务器提出请求。

运行时创建HTTP请求及请求的处理

1、发起请求 下面这个方法的作用就是接收要发送的数据及数据要发送到的URL,然后返回响应数据 protected string SendRequest(string data,string url) { WebRequest req = WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; byte[] sendBytes = Encoding.UTF8.GetBytes(data); req.ContentLength = sendBytes.Length; Stream reqStream = req.GetRequestStream(); reqStream.Write(sendBytes, 0, sendBytes.Length); reqStream.Close(); WebResponse res = req.GetResponse(); Stream resStream = res.GetResponseStream(); StreamReader sr = new StreamReader(resStream, Encoding.UTF8); string resData = sr.ReadToEnd(); sr.Close(); resStream.Close(); return resData; } 使用示例: protected void btnSubscribe_Click(object sender, EventArgs e) { string FileName = Server.MapPath("订购.xml");

流程图基本形状解析之欧阳家百创编

流程图里的形状符号的代表意义 欧阳家百(2021.03.07)

VISIO里的基本流程图形状 Axure里的流程图形状组件面板 对于画流程图,是我们经常会遇到的问题。我们和程序工程师沟通,用再多的口水,也无法挑明的事情,画一张简明的流程图,就能很直白的说明关键问题。 有时候你可能会懊恼,因为程序员的思维犹如计算机,你告诉他为什么没有用,你就告诉他该怎么做,是左是右,是0是1就好了。这个时候,产品经理需要的是理性思维,清晰的思路,如果你不清晰,工程师大多数会跟着你的思路乱做一团。所以多画几个流程,多根据页面需求画清晰的流程,就能解决实际的问题。 话不多说,本章主要介绍流程图里面的工具,因为图形其实很好介绍,简单的英文翻译就好了,所以也顺带说说这些图形在流程里的作用。方式还和以前一样,编号,对号入座,咱们来一个萝卜,一个坑:

1、矩形 作用:一般用作要执行的处理(process),在程序流程图中做执行框。 在axure中如果是画页面框架图,那么也可以指代一个页面。有时候我们会把页面和执行命令放在同一个流程中做说明,这个时候将两类不同的矩形做色彩区别,然后做说明就好了。 2、圆角矩形或者扁圆 作用:表示程序的开始或者结束,在程序流程图中用作为起始框或者结束框。 3、斜角矩形 作用:斜角矩形平时几乎不使用,可以视情况自行定义。或者在其他的流程图中,有特殊含义,暂不知晓,也希望有识之士指点一二。 4、菱形 作用:表示决策或判断(例如:If...Then...Else),在程序流程图中,用作判别框。 5、文件 作用:表达为一个文件,可以是生成的文件,或者是调用的文件。如何定义,需要自己根据实际情况做解释。 6、括弧 作用:注释或者说明,也可以做条件叙述。一般流程到一个位置,做一段执行说明,或者特殊行为时,会用到它。 7、半圆形

http请求处理流程(讲的很清楚)

.NET平台处理HTTP请求 .NET平台处理HTTP请求的过程大致如下: 1、IIS得到一个请求;,。 2、查询脚本映射扩展,然后把请求映射到文件 3、代码进入工作者进程(IIS5里是;IIS6里是,工作者进程也叫辅助进程; 4、 .NET运行时被加载; 5、非托管代码调用()方法; 6、每一个请求调用一个IsapiWorkerRequest; 7、使用WorkerRequest调用()方法; 8、通过传递进来的WorkerRequest创建一个HttpContext对象 9、通过把上下文对象作为参数传递给(),然后调用该方法,从应用程序池中获取一个HttpApplication实例; 10、调用(),启动管道事件序列,钩住模块和处理器; 11、调用,开始处理请求; 12、触发管道事件; 13、调用HTTP处理器和ProcessRequest方法; 14、把返回的数据输出到管道,触发处理请求后的事件。 当客户端向Web服务器请求一个页面文件时,这个HTTP请求会被进程截获(WWW服务),它判断文件后缀,如果是*.aspx、*.asmx等,就把这个请求转交给,而则会通过一个Http PipeLine的管道,将这个HTTP请求发送给进程,当这个HTTP请求进入进程之后, framework就会通过HttpRuntime来处理这个HTTP 请求,处理完毕后将结果返回给客户端。 当一个HTTP请求被送入到HttpRuntime之后,这个HTTP请求通过HTTP管道(HttpRuntime是HTTP管道的入口)被送入到一个被称之为HttpApplication Factory的一个容器当中,而这个容器会给出一个HttpApplication实例来处理传递进来的HTTP请求,同时HttpApplication实例会创建一个HttpContext对象来记录HTTP请求的上下文,而后这个HTTP请求会依次进入到如下几个容器中:HttpModule --> HttpHandler Factory --> HttpHandler当系统内部的HttpHandler的ProcessRequest方法处理完毕之后,整个Http Request就被处理完成了。 如果想在中途截获一个HttpRequest并做些自己的处理,就应该在HttpRuntime运行时内部来做到这一点,确切的说时在HttpModule这个容器中做到这个的。 过程详解: 从本质上讲,主要是由一系列的类组成,这些类的主要目的就是将Http请求转变为对客户端的响应。HttpRuntime类是的一个主要入口,它有一个ProcessRequest方法,这个方法以一个 HttpWorkerRequest 类作为参数。HttpRuntime类几乎包含着关于单个Http请求的所有信息:所请求的文件、服务器端变量、QueryString、Http头信息等等。使用这些信息来加载、运行正确的文件,并且将这个请求转换到输出流中,一般来说,就是HTML页面;二般来说,也可以是张图片^_^。

HTTP协议分析

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式。 2.简单快速: 客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、H EAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。 3.灵活: HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4.无连接: 无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5.无状态: HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 一、HTTP协议(URL)

http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下: http: //host[": "port][abs_path] 二、HTTP协议的请求 http请求由三部分组成,分别是: 请求行、消息报头、请求正文 1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下: Method Request-URI HTTP-Version CRLF 其中Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。 请求方法(所有方法全为大写)有多种,各个方法的解释如下: GET 请求获取Request-URI所标识的资源 POST 在Request-URI所标识的资源后附加新的数据 HEAD 请求获取由Request-URI所标识的资源的响应消息报头 PUT 请求服务器存储一个资源,并用Request-URI作为其标识

HTTP协议解析

文章来源:网络转载点击数:1148 更新时间:2009-9-14 10:35:27 字体:[大中小] 收藏到: HTTP协议详解 掌握HTTP虽然不是必须的,但是如果你知道它的工作原理,那么在学习JSP开发中的某些知识就可以易如反掌了。 一,HTTP协议详解之URL篇 http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:http://host[":"port][abs_path] http 表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port 指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。eg: 1、输入:https://www.wendangku.net/doc/1416098786.html, 浏览器自动转换成:https://www.wendangku.net/doc/1416098786.html,/ 2、http:192.168.0.116:8080/index.jsp 二、HTTP协议详解之请求篇 http请求由三部分组成,分别是:请求行、消息报头、请求正文 1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Method Request-URI HTTP-Version CRLF 其中Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP 协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。请求方法(所有方法全为大写)有多种,各个方法的解释如下: GET 请求获取Request-URI所标识的资源 POST 在Request-URI所标识的资源后附加新的数据 HEAD 请求获取由Request-URI所标识的资源的响应消息报头 PUT 请求服务器存储一个资源,并用Request-URI作为其标识 DELETE 请求服务器删除Request-URI所标识的资源 TRACE 请求服务器回送收到的请求信息,主要用于测试或诊断 CONNECT 保留将来使用 OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求 应用举例: GET方法:在浏览器的地址栏中输入网址的方式访问网页时,浏览器采用GET方法向服务器获取资源,eg:GET /form.html HTTP/1.1 (CRLF) POST方法要求被请求服务器接受附在请求后面的数据,常用于提交表单。 eg:POST /reg.jsp HTTP/ (CRLF) Accept:image/gif,image/x-xbit,... (CRLF) ...

http请求响应过程

http请求与响应过程 (1)请求方法URI协议/版本 请求的第一行是“方法URL议/版本”:GET/sample.jsp HTTP/1.1 以上代码中“GET”代表请求方法,“/sample.jsp”表示URI,“HTTP/1.1代表协议和协议的版本。 根据HTTP标准,HTTP请求可以使用多种请求方法。例如:HTTP1.1目前支持7种请求方法:GET、POST、HEAD、OPTIONS、 PUT、DELETE和TARCE。 GET 请求获取由Request-URI所标识的资源。 POST 在Request-URI所标识的资源后附加新的数据。 HEAD 请求获取由Request-URI所标识的资源的响应消息报头。 OPTIONS 请求查询服务器的性能,或查询与资源相关的选项和需求。 PUT 请求服务器存储一个资源,并用Request-URI作为其标识。 DELETE 请求服务器删除由Request-URI所标识的资源。 TRACE 请求服务器回送收到的请求信息,主要用语测试或诊断。 在Internet应用中,最常用的方法是GET和POST。 URI完整地指定了要访问的网络资源,通常只要给出相对于服务器的根目录的相对目录即可,因此总是以“/”开头,最 后,协议版本声明了通信过程中使用HTTP的版本。 (2)服务器响应状态码 状态代码: 状态代码由3位数字组成,表示请求是否被理解或被满足。 状态描述: 状态描述给出了关于状态代码的简短的文字描述。 状态代码的第一个数字定义了响应的类别,后面两位没有具体的分类。 第一个数字有五种可能的取值: - 1xx: 指示信息—表示请求已接收,继续处理。 - 2xx: 成功—表示请求已经被成功接收、理解、接受。 - 3xx: 重定向—要完成请求必须进行更进一步的操作。 - 4xx: 客户端错误—请求有语法错误或请求无法实现。 - 5xx: 服务器端错误—服务器未能实现合法的请求。 状态代码状态描述说明 200 OK --客户端请求成功 400 Bad Request --由于客户端请求有语法错误,不能被服务器所理解。 401 Unauthonzed --请求未经授权,请求身份认证。这个状态代码必须和WWW-Authenticate报头域一起使用 403 Forbidden --服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因

实验 TCP协议与HTTP协议

实验三TCP协议与HTTP协议 学号__142055210__ 姓名__李奋伟__ 实验机IP_ 192.168.1.103______ 实验机MAC地址_34-E6-D7-77-E7-35__ 日期__2016.6.17 实验目的: 掌握TCP协议内容,掌握HTTP协议内容。 实验步骤: 1、捕获TCP三次握手的过程,如下: 2、写出TCP三次握手的原理。 综合上图,设IP地址为192.168.1.254 的主机为A,IP地址为101.199.97.158 的主机为B。可以分析得出,A是客户,B为服务器。 第一次握手: A的TCP客户进程首先创建TCB,然后向B发出连接请求报文段,首部中的同步位SYN=1,同时初始序号seq=0; 第二次握手: B收到连接请求报文段,同意建立连接,向A发送确认。在确认报文段中把SYN和ACK 置为1,确认号ack=1,初始序号seq=0; 第三次握手: TCP客户进程收到B的确认后,向B给出确认。确认报文段的ACK置1,确认号ack=1,自己的序号为seq=1。 这时,A进入ESTABLISHED(已建立连接)状态。B收到A的确认后,也进入ESTABLISHED状态。 3、分析HTTP协议,写出工作过程。 首先捕获一个数据包,如下: 由上图可知通过三次握手连接成功,请求方式为GET;HTTP为 1.1本;浏览器类型是windows/6.2 IntelUS;Host行定义了目标所在的主机为239.255.255.250:1900\r\n。 原始框显示了分组中包含的数据的每个字节.从中可以观察最原始的传输数据.方框左边是十

六进制的数据,右边是ASCII码。 HTTP 协议定义了 Web 客户端(浏览器)如何向 Web 站点请求 Web 页以及 Web 服务器如何将 Web 页传送给客户机。具体来说,这是通过客户端发送 HTTP 请求报文和 HTTP 响应报文来实现的。当用户请求一个页面时(在浏览器中输入网址或者点击网页某一个链接),浏览器会向 Web 服务器发出对该页及其引用的相关对象的 HTTP 请求报文,服务器响应这些请求报文,生成 HTTP 响应报文,并将请求的对象附在 HTTP 响应报文后发送给客户端。由于网页文档的传输需要可靠性的保证,所以 HTTP 协议使用传输层的 TCP 协议作为载体。 4、分析SMTP协议,写出工作过程。 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP协议属于TCP/IP协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。通过SMTP协议所指定的服务器,就可以把E-mail寄到收信人的服务器上了,整个过程只要几分钟。SMTP服务器则是遵循SMTP协议的发送邮件服务器,用来发送或中转发出的电子邮件。 它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。跟大多数应用层协议一样,SMTP也存在两个端:在发信人的邮件服务器上执行的客户端和在收信人的邮件服务器上执行的服务器端。SMTP的客户端和服务器端同时运行在每个邮件服务器上。当一个邮件服务器在向其他邮件服务器发送邮件消息时,它是作为SMTP客户在运行。 5、分析FTP协议,写出工作过程。 FTP 是文件传输协议(File Transfer Protocol)的简称。 FTP 基于 TCP 协议,它通过两个 TCP 连接来传输一个文件,一个是控制连接,另一个是数据连接。相应的,在进行文件传输时,FTP 需要两个端口,分别用于控制连接端口(用于给服务器发送指令以及等待服务器响应)和数据传输端口(在客户机和服务器之间发送一个文件或目录列表)。 两种连接的建立都要经过一个“三次握手”的过程,同样,连接释放也要采用“四次握手”方法。控制连接在整个回话期间一直保持打开状态。数据连接是临时建立的,在文件传送结束后被关闭。 6、使用netstat 查看当前的TCP连接,简要说明。 如下:

最新流程图基本形状解析(精品收藏)

流程图里的形状符号的代表 意义

?VISIO里的基本流程图形状

Axure 里的流程图形状组件面板 对于画流程图,是我们经常会遇到的问题。我们和程序工程师沟通,用再多的口水,也无法挑明的事情,画一张简明的流程图,就能很直白的说明关键问题。 有时候你可能会懊恼,因为程序员的思维犹如计算机,你告诉他为什么没有用,你就告诉他该怎么做,是左是右,是0是1就好了。这个时候,产品经理需要的是理性思维,清晰的思路,如果你不清晰,工程师大多数会跟着你的思路乱做一团。所以多画几个流程,多根据页面需求画清晰的流程,就能解决实际的问题.

话不多说,本章主要介绍流程图里面的工具,因为图形其实很好介绍,简单的英文翻译就好了,所以也顺带说说这些图形在流程里的作用.方式还和以前一样,编号,对号入座,咱们来一个萝卜,一个坑: 1、矩形 作用:一般用作要执行的处理(process),在程序流程图中做执行框。 在axure中如果是画页面框架图,那么也可以指代一个页面。有时候我们会把页面和执行命令放在同一个流程中做说明,这个时候将两类不同的矩形做色彩区别,然后做说明就好了。 2、圆角矩形或者扁圆 作用:表示程序的开始或者结束,在程序流程图中用作为起始框或者结束框。 3、斜角矩形 作用:斜角矩形平时几乎不使用,可以视情况自行定义.或者在其他的流程图中,有特殊含义,暂不知晓,也希望有识之士指点一二。 4、菱形

作用:表示决策或判断(例如:If...Then。。.Else),在程序流程图中,用作判别框. 5、文件 作用:表达为一个文件,可以是生成的文件,或者是调用的文件.如何定义,需要自己根据实际情况做解释。 6、括弧 作用:注释或者说明,也可以做条件叙述。一般流程到一个位置,做一段执行说明,或者特殊行为时,会用到它。 7、半圆形 作用:半圆在使用中常作为流程页面跳转、流程跳转的标记。 8、三角形 作用:控制传递,一般和线条结合使用,画数据传递. 9、梯形 作用:一般用作手动操作. 10、椭圆形或圆形 作用:如果画小圆,一般是用来表示按顺序数据的流程.

相关文档