上传数据
A. http方式上传数据Post时,对数据有什么格式要求吗
Http之Get/Post请求区别
1.HTTP请求格式:
<request line>
<headers>
<blank line>
[<request-body>]
在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、要访问的资源以及使用的HTTP版本。紧接着是一个首部(header)小节,用来说明服务器要使用的附加信息。在首部之后是一个空行,再此之后可以添加任意的其他数据[称之为主体(body)]。
1. get是从服务器上获取数据,post是向服务器传送数据。
get 和 post只是一种传递数据的方式,get也可以把数据传到服务器,他们的本质都是发送请求和接收结果。只是组织格式和数据量上面有差别,http协议里面有介绍
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
因为get设计成传输小数据,而且最好是不修改服务器的数据,所以浏览器一般都在地址栏里面可以看到,但post一般都用来传递大数据,或比较隐私的数据,所以在地址栏看不到,能不能看到不是协议规定,是浏览器规定的。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
没明白,怎么获得变量和你的服务器有关,和get或post无关,服务器都对这些请求做了封装
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
post基本没有限制,我想大家都上传过文件,都是用post方式的。只不过要修改form里面的那个type参数
5. get安全性非常低,post安全性较高。
如果没有加密,他们安全级别都是一样的,随便一个监听器都可以把所有的数据监听到,不信你自己下一个监听网络资源的软件,
Get是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上,GET和POST只是发送机制不同,并不是一个取一个发!
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。
1.根据HTTP规范,GET用于信息获取,而且应该是安全的和幂等的。
(1).所谓安全的意味着该操作用于获取信息而非修改信息。换句话说,GET 请求一般不应产生副作用。就是说,它仅仅是获取资源信息,就像数据库查询一样,不会修改,增加数据,不会影响资源的状态。
B. 用电脑怎样上传数据
网络中数据传输过程
我们每天都在使用互联网,我们电脑上的数据是怎么样通过互联网传输到到另外的一台电脑上的呢?
我们知道现在的互联网中使用的TCP/IP协议是基于,OSI(开放系统互联)的七层参考模型的,(虽然不是完全符合)从上到下分别为 应用层 表示层 会话层 传输层 网络层 数据链路层和物理层。其中数据链路层又可是分为两个子层分别为逻辑链路控制层(Logic Link Control,LLC )和介质访问控制层((Media Access Control,MAC )也就是平常说的MAC层。LLC对两个节点中的链路进行初始化,防止连接中断,保持可靠的通信。MAC层用来检验包含在每个桢中的地址信息。在下面会分析到。还要明白一点路由器是在网路层的,而网卡在数据链路层。
我们知道,ARP(Address Resolution Protocol,地址转换协议)被当作底层协议,用于IP地址到物理地址的转换。在以太网中,所有对IP的访问最终都转化为对网卡MAC地址的访问。如果主机A的ARP列表中,到主机B的IP地址与MAC地址对应不正确,由A发往B数据包就会发向错误的MAC地址,当然无法顺利到达B,结 果是A与B根本不能进行通信。
首先我们分析一下在同一个网段的情况。假设有两台电脑分别命名为A和B,A需要相B发送数据的话,A主机首先把目标设备B的IP地址与自己的子网掩码进行“与”操作,以判断目标设备与自己是否位于同一网段内。如果目标设备在同一网段内,并且A没有获得与目标设备B的IP地址相对应的MAC地址信息,则源设备(A)以第二层广播的形式(目标MAC地址为全1)发送ARP请求报文,在ARP请求报文中包含了源设备(A)与目标设备(B)的IP地址。同一网段中的所有其他设备都可以收到并分析这个ARP请求报文,如果某设备发现报文中的目标IP地址与自己的IP地址相同,则它向源设备发回ARP响应报文,通过该报文使源设备获得目标设备的MAC地址信息。为了减少广播量,网络设备通过ARP表在缓存中保存IP与MAC地址的映射信息。在一次 ARP的请求与响应过程中,通信双方都把对方的MAC地址与IP地址的对应关系保存在各自的ARP表中,以在后续的通信中使用。ARP表使用老化机制,删除在一段时间内没有使用过的IP与MAC地址的映射关系。一个最基本的网络拓扑结构:
如果中间要经过交换机的话,根据交换机的原理,它是直接将数据发送到相应端口,那么就必须保有一个数据库,包含所有端口所连网卡的MAC地址。它通过分析Ethernet包的包头信息(其中包含不原MAC地址,目标MAC地址,信息的长度等信息),取得目标B的MAC地址后,查找交换机中存储的地址对照表,(MAC地址对应的端口),确认具有此MAC地址的网卡连接在哪个端口上,然后将数据包发送到这个对应的端口,也就相应的发送到目标主机B上。这样一来,即使某台主机盗用了这个IP地址,但由于他没有这个MAC地址,因此也不会收到数据包。
现在我们讨论两台不在同一个网段中的主机,假设网络中要从主机PC-A发送数据包PAC到PC-C主机中
PC-A并不需要获取远程主机(PC-C)的MAC地址,而是把IP分组发向缺省网关,由网关IP分组的完成转发过程。如果源主机(PC-A)没有缺省网关MAC地址的缓存记录,则它会通过ARP协议获取网关的MAC地址,因此在A的ARP表中只观察到网关的MAC地址记录,而观察不到远程主机的 MAC地址。在以太网(Ethernet)中,一个网络设备要和另一个网络设备进行直接通信,
除了知道目标设备的网络层逻辑地址(如IP地址)外,还要知道目标设备的第二层物理地址(MAC地址)。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。 数据包在网络中的发送是一个及其复杂的过程,上图只是一种很简单的情况,中间没有过多的中间节点,其实现实中只会比这个更复杂,但是大致的原理是一致的。
(1)PC-A要发送数据包到PC-C的话,如果PC-A没有PC-C的IP地址,则PC-A首先要发出一个dns的请求,路由器A或者dns解析服务器会给PC-A回应PC-C的ip地址,这样PC-A关于数据包第三层的IP地址信息就全了:源IP地址:PC-A,目的ip地址:PC-C。
(2)接下来PC-A要知道如何到达PC-C,然后,PC-A会发送一个arp的地址解析请求,发送这个地址解析请求,不是为了获得目标主机PC-C的MAC地址,而是把请求发送到了路由器A中,然后路由器A中的MAC地址会发送给源主机PC-A,这样PC-A的数据包的第二层信息也全了,源MAC地址:PC-A的MAC地址,目的MAC地址:路由器A的MAC地址,
(3)然后数据会到达交换机A,交换机A看到数据包的第二层目的MAC地址,是去往路由器A的,就把数据包发送到路由器A,路由器A收到数据包,首先查看数据包的第三层ip目的地址,如果在自己的路由表中有去往PC-C的路由,说明这是一个可路由的数据包。 (4)然后路由器进行IP重组和分组的过程。首先更换此数据包的第二层包头信息,路由器PC-A到达PC—C要经过一个广域网,在这里会封装很多广域网相关的协议。其作用也是为了找下一阶段的信息。同时对第二层和第三层的数据包重校验。把数据经过Internet发送出去。最后经过很多的节点发送到目标主机PC_C中。
现在我们想一个问题,PC-A和PC-C的MAC地址如果是相同的话,会不会影响正常的通讯呢!答案是不会影响的,因为这两个主机所处的局域网被广域网分隔开了,通过对发包过程的分析可以看出来,不会有任何的问题。而如果在同一个局域网中的话,那么就会产生通讯的混乱。当数据发送到交换机是,这是的端口信息会有两个相同的MAC地址,而这时数据会发送到两个主机上,这样信息就会混乱。因此这也是保证MAC地址唯一性的一个理由。
我暂且按我的理解说说吧。
先看一下计算机网络OSI模型的七个层次:
┌—————┐
│ 应用层 │←第七层
├—————┤
│ 表示层 │
├—————┤
│ 会话层 │
├—————┤
│ 传输层 │
├—————┤
│ 网络层 │
├—————┤
│数据链路层│
├—————┤
│ 物理层 │←第一层
└—————┘
而我们现在用的网络通信协议TCP/IP协议者只划分了四成:
┌—————┐
│ 应用层 │ ←包括OSI的上三层
├—————┤
│ 传输层 │
├—————┤
│ 网络层 │
├—————┤
│网络接口层 │←包括OSI模型的下两层,也就是各种不同局域网。
└—————┘
两台计算机通信所必须需要的东西:IP地址(网络层)+端口号(传送层)。
两台计算机通信(TCP/IP协议)的最精简模型大致如下:
主机A---->路由器(零个或多个)---->主机B
举个例子:主机A上的应用程序a想要和主机B上面的应用程序b通信,大致如下
程序a将要通信的数据发到传送层,在传送层上加上与该应用程序对应的通信端口号(主机A上不同的应用程序有不同的端口号),如果是用的TCP的话就加上TCP头部,UDP就加上UDP头部。
在传送成加上头部之后继续向往下传到网络层,然后加上IP头部(标识主机地址以及一些其他的数据,这里就不详细说了)。
然后传给下层到数据链路层封装成帧,最后到物理层变成二进制数据经过编码之后向外传输。
在这个过程中可能会经过许多各种各样的局域网,举个例子:
主机A--->(局域网1--->路由器--->局域网2)--->主机B
这个模型比上面一个稍微详细点,其中括号里面的可以没有也可能有一个或多个,这个取决于你和谁通信,也就是主机B的位置。
主机A的数据已经到了具体的物理介质了,然后经过局域网1到了路由器,路由器接受主机A来的数据先经过解码,还原成数据帧,然后变成网络层数据,这个过程也就是主机A的数据经过网络层、数据链路层、物理层在路由器上面的一个反过程。
然后路由器分析主机A来的数据的IP头部(也就是在主机A的网络层加上的数据),并且修改头部中的一些内容之后继续把数据传送出去。
一直到主机B收到数据为止,主机B就按照主机A处理数据的反过程处理数据,直到把数据交付给主机B的应用程序b。完成主机A到主机B的单方向通信。
这里的主机A、B只是为了书写方便而已,可能通信的双方不一定就是个人PC,服务器与主机,主机与主机,服务器与服务器之间的通信大致都是这样的。
再举个例子,我们开网页上网络:
就是我们的主机浏览器的这个应用程序和网络的服务器之间的通信。应用成所用的协议就是HTTP,而服务器的端口号就是熟知端口号80.
大致过程就是上面所说,其中的细节很复杂,任何一个细节都可以写成一本书,对于非专业人员也没有必要深究。
C. 电脑为什么一直不断的有上传数据
那说明有些应用软件会在后台上传数据的。这样很不好,首先对个人的隐私或重要数据有威胁。其次,流量不断走,损害的个人用户。解决办法,到C盘系统文件夹,找到暴风影音的残余上传程序,人工删除它。因为,按系统正常删除,一般不能彻底删除上传程序的驻留,因为,驻留的目的就想再次的让你安装此软件。
D. 怎么把sql数据上传到服务器上
一般要用数据库管理工具上传数据。
安装网站程序时,数据库资料怎么填?
举例说明:某个数据库名称是:zp7023_db,
密码是:r4b3218e5
,数据库地址:bdm-008.hichina.com,
则填写样式如下:
系统默认主机名为:bdm-008.hichina.com
sql:数据库名称:
zp7023_db
sql:数据库用户名:
zp7023
sql:数据库密码:
r4b3218e5
数据库地址:bdm-008.hichina.com
E. 如何上传文件到数据库
文件上传到数据库请参考以下示例:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page language="java" import="java.sql.*" %>
<%/////连接数据库
java.sql.Connection conn;
java.sql.Statement stmt;
java.sql.ResultSet rs1;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:dababasename");///数据源
stmt=conn.createStatement();
%>
<%
String sqlin="insert into drawing values ;
File file = new File("c:/z.jpg");
long l1=file.length();
int l2=(int)l1;
FileInputStream is = new FileInputStream(file);
InputStream fis=(InputStream)is;
PreparedStatement ps = conn.prepareStatement("insert into images values (?,?)");
ps.setString(1,file.getName());
ps.setBinaryStream(2,fis,file.length());
ps.executeUpdate();
ps.close();
fis.close();
//将图片从数据库中提取,进行显示
//drawing字段为IMAGE类型
stmt = conn.createStatement();
rs1 = stmt.executeQuery("SELECT * FROM drawing WHERE drawing_code ='0-515' and version=3");
if (rs1.next())
{
String dim_image = rs1.getString("file_name");
byte [] blocco = rs1.getBytes("drawing");
response.setContentType("image/jpeg");
ServletOutputStream op = response.getOutputStream();
for(int i=0;i<blocco.length;i++)
{
op.write(blocco[i]);
}
}
rs1.close();
%>
F. 我在下载东西,为什么会有上传数据呢
这说明楼主是接的ADSL,首先从原理上就可看出ADSL是利用电话线进行非对称数据传输,ADSL之所以叫做非对称是因为它的两个双工通道都用来向用户传输数据。仅有很小一部分带宽用来回送用户的信息。然而,大部Internet 特别是富于图形和多媒体Web 数据需要很大的下传带宽,同时用户信息相对比较少,上传的带宽也不要很大。一旦上传占用带宽过大必然会影响下载速度,特别是内网!
上网的时候即使没有上传东西,只要你浏览网页或下载东西,都会有少量用户的请求或其他用户信息发出去,或者也有一些对信息加密的数据,也就会产生 上传的流量
G. 如何将数据上传给服务器
医嘱以什么形式发送过来? 办法有很多,最简单的,就是在自己机器里,建立2个数据库A,B,假如A是外部服务器。 在数据库中,以A数据库做发布,让B数据库订阅,弄好以后,A数据库的数据就会自动的传送到B数据库。具体的,你要看SQL SERVER的文档关于发布订阅的那部分,如果细节有不懂得,你可以给我留言,我在给你解答。 在说一个方法,使用程序将A中的数据,直接插入到B数据库。 在程序里建立两个数据源,一个访问A数据库一个访问B数据库,然后,通过A数据源读取数据,插入到B数据源对应的数据库中。
H. 如何上传开票数据
1、首先打开税控开票软件(金税盘版),点击主菜单”报税处理“,再点击上边文字下拉菜单“报税管理”。
I. 数据库怎么上传的
直接把SQL复制,在新数据库运行
J. 淘宝如何上传数据包
淘宝助理怎么上传数据包-如何使用淘宝助理上传数据包,下面整理图文教程 ,先下载淘宝助理并安装(如果已经有了,就不用下载了)
工具/原料
电脑
网络
淘宝账号
步骤/方法
1
2.下载后的文件另存到桌面上(下载后如下图)
2
解压刚才的数据包
3
解压后,生成两个文件或多个文件,(如下图)。
或者是这样
4
下面就用cvs这个文件做一个图文说明,登录淘宝助理,录入淘宝用户名与密码
5
进去之后,在左边的地方点击“库存宝贝”(用左键点击)
6
在右边点击(用右键点击)“CSV文件导入”导入刚才那个文件
7
找到刚才解压的那个文件(选择右边这个哦)
8
上传到助理后,点击右键,点击“全选”、然后点击“勾选”两个键
9
以上工作完成后,开始“上传宝贝”
10
然后出现这样一个界面,点击“强制上传”
OK了,全部上传完了吧,如果显示“宝贝属性错误,图片错误,类目错误……”再检查一下吧。
END
注意事项
导入到淘宝助理后 最好还是每一件商品的标题修改一下,这样别人用你的标题搜索,一般就搜索不到别家一样的宝贝了。
1、Q:数据包解压后出现不明格式的文件?
A:这样的情况大多是由于数据包下载过程中因为种种原因造成的损坏,建议你还是重新下载试试看,当然,也不排除是什么夭夭不知道的文件格式啦。
2.、Q:数据包上传后提示“非法数据包”?
A:这种情况原因一般如下:1.你的数据包确实是非法的,这个咱就不说了哈,嘿嘿
2.淘宝助理的问题,助理有时候会出现不明原因的数据错误,你可以更新一下淘宝助理或者重新选择一个时间再次上传。
3、Q:上传后淘宝助理中不显示商品图片?
A:这个原因有很多种,不过解决方法跟上一个差不多:1.删除已经上传的宝贝,对淘宝助理进行数据更新,然后重新上传。2.删除已经上传的宝贝,更新淘宝助理版本,然后重新上传。3.删除已经上传的宝贝,把文件夹中所有的.tbi 格式的文件用ACDSee等软件批量修改为.jpg格式,然后新建一个文件夹,命名为“images”把修改后的图片放入,再次尝试上传,不过要记得图像文件和数据库文件放在一个路径下呦。