版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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所标识的资源的响应消息
2、报头。OPTIONS 请求查询服务器的性能,或查询与资源相关的选项和需求。PUT 请求服务器存储一个资源,并用Request-URI作为其标识。DELETE 请求服务器删除由Request-URI所标识的资源。TRACE 请求服务器回送收到的请求信息,主要用语测试或诊断。在Internet应用中,最常用的方法是GET和POST。URI完整地指定了要访问的网络资源,通常只要给出相对于服务器的根目录的相对目录即可,因此总是以“/”开头,最后,协议版本声明了通信过程中使用HTTP的版本。(2)服务器响应状态码状态代码:状态代码由3位数字组成,表示请求是否被理解或被满足。状态描述:状态描述给出了关于状
3、态代码的简短的文字描述。状态代码的第一个数字定义了响应的类别,后面两位没有具体的分类。第一个数字有五种可能的取值:- 1xx: 指示信息表示请求已接收,继续处理。- 2xx: 成功表示请求已经被成功接收、理解、接受。- 3xx: 重定向要完成请求必须进行更进一步的操作。- 4xx: 客户端错误请求有语法错误或请求无法实现。- 5xx: 服务器端错误服务器未能实现合法的请求。状态代码 状态描述 说明 200 OK -客户端请求成功 400 Bad Request -由于客户端请求有语法错误,不能被服务器所理解。 401 Unauthonzed -请求未经授权,请求身份认证。这个状态代码必须和WW
4、W-Authenticate报头域一起使用 403 Forbidden -服务器收到请求,但是拒绝提供服务。服务器通常会在响应正文中给出不提供服务的原因 404 Not Found -请求的资源不存在,例如,输入了错误的URL。 500 Internal Server Error -服务器发生不可预期的错误,导致无法完成客户端的请求。 503 Service Unavailable -服务器当前不能够处理客户端的请求,在一段时间之后,服务器可能会恢复正常。2.基于HTTP协议的客户端/服务器请求响应机制的信息交换过程包含下面几个步骤: 1) 建立连接:客户端与服务器建立TCP连接2) 发送请求
5、:打开一个连接后,客户端把请求信息发送到服务器的相应端口上,完成请求动作提交。3) 发送响应:服务器在处理完客户端请求之后,要向客户端发送响应消息。4) 关闭连接:客户端和服务器端都可以关闭套接字来结束TCP/IP对话。一、HTTP请求响应过程与HTTPS区别HTTP协议HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本。服务器按照一定规则,发送到客户端(一般是浏览器)的传送通信协议。与之类似的还有文件传送协议(file transfer protocol,FTP),简单邮件传送协议(simple mail ttransfer protocol,SMTP)等。HTTP是在七层网络模型
6、中的应用层的协议,由发送请求和接受响应构成,是一个标准的客户端服务器模型。与此同时,HTTP是一个无状态的协议。也就是说,不能通过一个状态判断连接的状态,因此有时候,计算机之间通信需要通过其他协议来协同工作,一起提供支持。HTTP协议的工作特点相对于其他网路传输协议,HTTP有着自己的特点,这也支撑了HTTP协议的基本职能。(1)基于B/S 模式,即客户/服务器模式。同时可以提供登陆认证和网间安全传输,例如HTTP下加入SSL层,可以提供安全的HTTPS服务。(2)通信开销小,简单快速,传输成本低。服务器请求某些一定的服务时,浏览者通常只需在请求报文中添加请求路径和方法。最一般的情形,例如GE
7、T、HEAD、POST等,这也是我们使用最多的。每一种请求方法都有自己的适用范围,在请求报文的内部,通过一些规则,说明了用户与Web服务器之间沟通的类型。同时,HTTP协议规则较为简单,因此使用HTTP服务器的系统,代码和程序规模都会比较轻量级,但是通信的速度却效率较高。(3)使用灵活:超文本协议,允许服务器和客户端传输任意类型或者任意数据结构的数据对象。而且,通过一个简单的头信息,例如将正在传输的类型由Content-Type加以标记,于是可以区分开。(4)节省传输时间:最初版本的HTTP协议使用非持续连接,只允许发送并处理一个连接,当请求响应完成,也就是服务器完成客户端的请求,同时收到了客
8、户端浏览器的应答后,连接会立即断开。有了这种特点,通信方式节省了大量用于数据传输和等待应答的时间,时间成本变得非常小。同时,高版本HTTP协议,HTTP 1.1支持持续连接:多个对象可以通过一个连接可传送,不需要每次传输一个web对象就去创建一个新的连接。(5)可能影响传输效率,无状态:HTTP协议是无状态协议。无状态,如果协议对于事务处理没有记忆的机制,不能存储处理进度,此时,如果后续的操作需要前面的处理信息,就需要重新发送对象即必须重传,这样的后果是,可能多次连接才能完成操作,数据量会因此变大。“在服务器端,每个HTTP请求都要启动独立的线程去处理,减少Http请求的数目可以有效提高访问性
9、能(大型网站技术架构李智慧)”。HTTP协议的工作原理通常情况下,HTTP协议的工作原理很好理解,用户通过客户端向服务端发起一个请求,创建一个TCP连接,指定端口号,默认是80,然后连接到服务器工作。在那个端口监听浏览器请求。一旦监听到客户端请求,分析请求类型后,服务器会向客户端返回一个响应状态,比如HTTP/1.0 404 OK,同时会返回特定的数据内容,如请求的资源,错误代码,其它状态信息等等。HTTP协议的报文格式HTTP协议的请求报文当浏览器向服务器发送一个请求到Web服务器,它发送一个数据块,或请求信息,HTTP请求信息包括3部分:请求方法URI协议/版本;请求头(Request H
10、eader);请求正文;下面是一个HTTP请求的示例:GET/test.jsp HTTP/1.1Accept:image/test.image/jpeg,*/*Accept-Language:zh-cnConnection:Keep-AliveHost:03User-Agent:Mozila/5.0(compatible;MSIE5.01;Window NT5.0)Accept-Encoding:gzip,deflateusername=linuxidc&password=linuxidc(1)请求方法URI协议/版本请求的第一行是“方法/内容 URL协议/协议版本名称
11、”:GET/test.jsp HTTP/1.1上面的代码中,“GET”说明请求方法,“/test.jsp”表示网络资源,中间空格,最后说明协议和协议的版本。根据HTTP标准,HTTP请求可以使用多种不同的请求方法。例如:HTTP1.1允许支持七种请求方法(也叫“动作”):GET、POST、HEAD、OPTIONS、PUT、DELETE和TARCE。日常开发中, GET和POST是最常用的方法,主要在相关的Web开发中。URL路径指定了要访问的网络资源。一般来说,我们需要的是相对路径,因为确定资源位置,知道网络资源相对于服务器的根目录的路径就可以,所以以“/”开头。在头信息结束时,声明了通信过程
12、中HTTP协议版本的使用版本。需要注意,方法名称很重要的一点是严格区分大小写。有些时候,某个请求所针对的资源可能不支持对应的请求方法,会通过不同的状态码给出响应。例如,服务器将返回一个状态码405(方法不允许),当请求服务器或方法不理解不支持相应的时间,返回一个状态码501(没有实现)。(2)请求头(Request Header)请求头包含了一些客户环境和请求的内容信息。例如,请求头可以声明浏览器内核和语言使用,请求的长度等。Accept:image/test.image/jpeg.*/*Accept-Language:zh-cnConnection:Keep-AliveHost:222.35
13、.232.103User-Agent:Mozila/5.0(compatible:MSIE5.01:Windows NT5.0)Accept-Encoding:gzip,deflate.(3)请求正文请求正文和请求头要有空行。这个空行必须存在,说明结束请求头传输,开始传输正文请求。请求正文中一般包含很多信息,例如用户提交的用户名和密码之类的登陆信息:userlogin=linuxidc¤tpwd=linuxidc在真实应用中,协议的请求正文可以包含大量的信息,而不是如示例的HTTP请求中一样,请求正文只有简单的一行数据。HTTP协议的响应报文和请求报文类似,HTTP响应主要也是3个
14、部分构成:(1)协议状态版本代码描述(2)响应头(Response Header)(3)响应正文下面是一个HTTP响应的示例:HTTP/1.1 200 OKServer:Apache Tomcat/7.0.1Date:Mon,6Oct2014 13:23:42 GMTContent-Length:102HTTP响应文件这是HTTP响应文件!客户端向服务器发送请求,和请求报文类似,服务器会以状态行响应。响应报文包括:HTTP协议的版本、结果编码以及其他的必要信息,如实体信息等。响应类别不同,响应报文里可以包含或者不含实体内容。HTTP响应报文的首先是以状态行开始,这些可以参考示例的代码。响应头也
15、就是报文首部,和请求头首部一样,包含重要的信息,例子中我们可以看到,比如日期时间和服务器类型以及内容长度和数量等。二、HTTP与HTTPS协议的区别Https是一种基于SSL/TLS的Http协议,所有的http数据都是在SSL/TLS协议封装之上传输的。Https协议在Http协议的基础上,添加了SSL/TLS握手以及数据加密传输,也属于应用层协议。HTTP协议运行在TCP之上,所有传输的内容都是明文,客户端和服务器端都无法验证对方的身份。HTTPS是运行在SSL/TLS之上的HTTP协议,SSL/TLS运行在TCP之上。所有传输的内容都经过加密,加密采用对称加密,但对称加密的密钥用服务器方
16、的证书进行了非对称加密。TLS/SSL中使用了非对称加密,对称加密以及HASH算法。握手过程的简单描述如下:1.浏览器将自己支持的一套加密规则发送给网站。2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。3.获得网站证书之后浏览器要做以下工作:a) 验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小锁头,否则会给出证书不受信的提示。b) 如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串随机数的密码,并
17、用证书中提供的公钥加密。c) 使用约定好的HASH计算握手消息,并使用生成的随机数对消息进行加密,最后将之前生成的所有信息发送给网站。4.网站接收浏览器发来的数据之后要做以下的操作:a) 使用自己的私钥将信息解密取出密码,使用密码解密浏览器发来的握手消息,并验证HASH是否与浏览器发来的一致。b) 使用密码加密一段握手消息,发送给浏览器。5.浏览器解密并计算握手消息的HASH,如果与服务端发来的HASH一致,此时握手过程结束,之后所有的通信数据将由之前浏览器生成的随机密码并利用对称加密算法进行加密。这里浏览器与网站互相发送加密的握手消息并验证,目的是为了保证双方都获得了一致的密码,并且可以正常的加密解密数据,为后续真正数据的传输做一次测试。HTTPS一般使用的加密与HASH算法如下:非对称加密算法:RSA,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年上饶市信州区事业单位人员招聘考试备考题库及答案详解
- 儿童皮肤护理师角色与职责解析
- 2026年太原市万柏林区事业单位人员招聘考试备考试题及答案详解
- 2026年厦门市翔安区事业单位人员招聘考试参考题库及答案详解
- 2026年台州市黄岩区事业单位人员招聘考试参考试题及答案详解
- 合作项目利润分配确认函(6篇)
- 2026年新疆维吾尔自治区克拉玛依市事业单位人员招聘考试参考题库及答案详解
- 抵制网络暴力构建和谐校园,二年级主题班会课件
- 2026年福建省泉州市奕聪中学招聘高中教师2人考试备考试题及答案详解
- 浙江省新昌县联考2026年物理八上期末联考模拟试题含解析
- 2026年北京市西城区社区工作者招聘考试试卷(含答案解析)
- 2025年北京市初二地生会考考试试题及答案
- 2023版29490-2023企业知识产权合规管理体系管理手册及全套程序文件
- 《谢晶日教授治疗慢性胰腺炎的临床经验总结》
- 教育局关于双减工作的实施方案
- 三年级下册道德与法治教学工作总结
- 口腔科用牙科数字化口腔扫描精度考核试卷
- 勘察报告(尾矿库)
- 动力管道设计手册-第2版
- 电梯术语中英文对照表
- 干部人事档案专项审核工作
评论
0/150
提交评论