rfc2616读后感(转:HTTP协议之multipart/form-data请求分析)

发布时间: 2025-02-15 14:25:36 来源: 励志妙语 栏目: 读后感 点击: 78

HTTP协议是什么意思各位操点心HTTP的全称是HyperText,Transfer,Protocol,意思是超文本传输协议,是互联网上应用最为...

rfc2616读后感(转:HTTP协议之multipart/form-data请求分析)

HTTP协议是什么意思

各位操点心

HTTP的全称是HyperText Transfer Protocol,意思是超文本传输协议,是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以http://开头的原因。 

扩展资料:

HTTP协议的报文格式

请求格式如下:

HTTP报文由从客户机到服务器的请求和从服务器到客户机的响应构成。请求报文格式如下:

请求行 - 通用信息头 - 请求头 - 实体头 - 报文主体

请求行以方法字段开始,后面分别是 URL 字段和 HTTP 协议版本字段,并以 CRLF 结尾。SP 是分隔符。除了在最后的 CRLF 序列中 CF 和 LF 是必需的之外,其他都可以不要。有关通用信息头,请求头和实体头方面的具体内容可以参照相关文件。

应答报文格式如下:

超文本传输协议状态行 - 通用信息头 - 响应头 - 实体头 - 报文主体

状态码元由3位数字组成,表示请求是否被理解或被满足。原因分析是对原文的状态码作简短的描述,状态码用来支持自动操作,而原因分析用来供用户使用。客户机无需用来检查或显示语法。有关通用信息头,响应头和实体头方面的具体内容可以参照相关文件。

参考资料来源:百度百科-HTTP

转:HTTP协议之multipart/form-data请求分析

首先来了解什么是multipart/form-data请求:
根据 http / 1.1 rfc 2616 的协议规定,我们的请求方式只有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE等,那为为何我们还会有multipart/form-data请求之说呢?这就要从头来说了。

http协议大家都知道是规定了以ASCII码传输,建立在tcp、ip协议之上的应用层规范,规范内容把http请求分为3个部门:状态行,请求头,请求体。所有的方法、实现都是围绕如何运用和组织这三部分来完成的。换句话来说就是万变不离其中,只要我们了解了http请求的组成部分后,自然就可以应变任何实际工作中的需求和问题了。

关于状态行,请求头,请求体等三部分的具体内容,大家可以参考官方的协议文档http://www.faqs.org/rfcs/rfc2616.html,这里主要分析multipart/form-data请求具体是怎么一回事。

既然http协议本身的原始方法不支持multipart/form-data请求,那这个请求自然就是由这些原始的方法演变而来的,具体如何演变且看下文:

1、multipart/form-data的基础方法是post,也就是说是由post方法来组合实现的

2、multipart/form-data与post方法的不同之处:请求头,请求体。

3、multipart/form-data的请求头必须包含一个特殊的头信息:Content-Type,且其值也必须规定为multipart/form-data,同时还需要规定一个内容分割符用于分割请求体中的多个post的内容,如文件内容和文本内容自然需要分割开来,不然接收方就无法正常解析和还原这个文件了。具体的头信息如下:

Content-Type: multipart/form-data; boundary=${bound}

//其中${bound} 是一个占位符,代表我们规定的分割符,可以自己任意规定,但为了避免和正常文本重复了,尽量要使用复杂一点的内容。如:--------------------56423498738365

4、multipart/form-data的请求体也是一个字符串,不过和post的请求体不同的是它的构造方式,post是简单的name=value值连接,而multipart/form-data则是添加了分隔符等内容的构造体。具体格式如下:

--${bound}Content-Disposition: form-data; name="Filename"

HTTP.pdf

--${bound}

Content-Disposition: form-data; name="file000"; filename="HTTP协议详解.pdf"

Content-Type: application/octet-stream

%PDF-1.5

file content

%%EOF

--${bound}

Content-Disposition: form-data; name="Upload"

Submit Query

--${bound}--

其中${bound}为之前头信息中的分割符,如果头信息中规定为123,那么这里也要为123,;可以很容易看出,这个请求体是多个相同的部分组成的:每一个部分都是以--加分隔符开始的,然后是该部分内容的描述信息,然后一个回车,然后是描述信息的具体内容;如果传送的内容是一个文件的话,那么还会包含文件名信息,以及文件内容的类型。上面的第二个小部分其实是一个文件体的结构,最后会以--分割符--结尾,表示请求体结束。

综上,可以知道要发送一个multipart/form-data的请求,其实任何支持post请求的工具或语言都可以支持,只是自己要稍微包装一下便可。

真相如下:

用firefox上传一个txt文件,内容为123test,用firebug查看网络请求细节。

请求头:

请求体:

http里没有专门用于文件上传的请求方式,文件上传请求是在post请求基础之上定义出来的一种方式。Multipart是HTTP协议为web表单新增的上传文件的协议,协议文档是 rfc1867 ,它基于HTTP的POST方法,数据同样是放在body上,跟普通POST方法的区别是数据不是key=value形式,key=value形式难以表示文件实体,为此Multipart协议添加了分隔符( 即boundary的概念 ),有自己的格式结构

http中的put,delete等请求为什么不安全

并不能理解,尤其不能理解把定义为无副作用的Method之一的OPITONS给封了(既然这样为何不封POST)。。。。。可以让他们去看RFC2616关于method definions部分了。。。最后个人觉得对于method真正产生的影响是人为决定的,真正安全问题是人为产生的和个method没啥关系吧(RFC定义了那些method应该遵循的原则。。至于实现者愿不愿意遵循是另外一回事情了)

什么是ucip文件

如题
http
协议定义服务器端和客户端之间文件传输的沟通方式。目前http协议的版本是http1.1。rfc
2616描述了http协议的具体信息。
这个协议已经成为浏览器和web站点之间的标准。
当我上网的时候底层是如何进行交互的?
当访问者点击一个超链接的时候,将会给浏览器提交一个url地址。通过这个url地址,浏览器便知道去链接那个网站并去取得具体的页面文件(也可能是一张图片,一个pdf文件)。
http工作的基础就是,连接一个服务器并开始传输文件到浏览器。
http传输的基本过程
在http传输的过程中,被称为客户端的请求者向服务器请求一个文件。
最基本的过程是:
1
客户端连接一个主机;
2
服务器接收连接,
3
客户端请求一个文件,
4
服务器发送一个应答.
bittorrent(中文全称比特流,简称bt,又称变态下载)是一个多点下载的p2p软件。不象ftp那样只有一个发送源,bt有多个发送点,当你在下载时,同时也在上传,使大家都处在同步传送的状态。
bt的工作原理?
bt首先在上传者端把一个文件分成了多个部分,客户端甲在服务器随机下载了第n部分,客户端乙在服务器随机下载了第m部分。
这样甲的bt就会根据情况到乙的电脑上去拿乙已经下载好的第m部分,乙的bt就会根据情况去到甲的电脑上去拿甲已经下载好的第n部分。
2、bt下载会比http、ftp快吗?
从原理上来说,由于bt先进的下载方式减轻了服务器端的负荷,同时加快了客户端的下载速度。所以bt下载的人越多,速度越快。而传统的服务器下载方式,速度取决于你的带宽和服务器分给你的带宽。
3、什么叫种子?
种子就是提供你下载的网友,而这个文件有多少种子就是有多少个网友在下载同时上传。

我想问一下http是用于加密机制的协议吗

http不是用于加密机制的协议。用于加密机制的协议是SSL。SSL协议位于TCP和IP协议与各种应用层协议之间,为数据通讯提供安全支持。
超文本传输协议(HTTP,HyperTextTransferProtocol)是互联网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。1960年美国人TedNelson构思了一种通过计算机处理文本信息的方法,并称之为超文本(hypertext),这成为了HTTP超文本传输协议标准架构的发展根基。TedNelson组织协调万维网协会(WorldWideWebConsortium)和互联网工程工作小组(InternetEngineeringTaskForce)共同合作研究,最终发布了一系列的RFC,其中着名的RFC2616定义了HTTP1.1。
更多关于http是用于加密机制的协议吗,进入:https://m.abcgonglue.com/ask/5adba21615829281.html?zd查看更多内容
本文标题: rfc2616读后感(转:HTTP协议之multipart/form-data请求分析)
本文地址: http://www.lzmy123.com/duhougan/409277.html

如果认为本文对您有所帮助请赞助本站

支付宝扫一扫赞助微信扫一扫赞助

  • 支付宝扫一扫赞助
  • 微信扫一扫赞助
  • 支付宝先领红包再赞助
    声明:凡注明"本站原创"的所有文字图片等资料,版权均属励志妙语所有,欢迎转载,但务请注明出处。
    亲子阅读体会读后感(2022年亲子阅读心得怎么写【10篇】)返回列表
    Top