网络

=======================================================

post使用form-data和x-www-form-urlencoded的本质区
就是数据格式的处理不同
application/x-www-form-urlencoded
1、它是post的默认格式,使用js中URLencode转码方法。包括将name、value中的空格替换为加号;将非ascii字符做百分号编码;将input的name、value用‘=’连接,不同的input之间用‘&’连接。

2、百分号编码什么意思呢。比如汉字‘丁’吧,他的utf8编码在十六进制下是0xE4B881,占3个字节,把它转成字符串‘E4B881’,变成了六个字节,每两个字节前加上百分号前缀,得到字符串“%E4%B8%81”,变成九个ascii字符,占九个字节(十六进制下是0x244534254238253831)。把这九个字节拼接到数据包里,这样就可以传输“非ascii字符的 utf8编码的 十六进制表示的 字符串的 百分号形式”,^_^。

3、同样使用URLencode转码,这种post格式跟get的区别在于,get把转换、拼接完的字符串用‘?’直接与表单的action连接作为URL使用,所以请求体里没有数据;而post把转换、拼接后的字符串放在了请求体里,不会在浏览器的地址栏显示,因而更安全一些。

multipart/form-data

1、对于一段utf8编码的字节,用application/x-www-form-urlencoded传输其中的ascii字符没有问题,但对于非ascii字符传输效率就很低了(汉字‘丁’从三字节变成了九字节),因此在传很长的字节(如文件)时应用multipart/form-data格式。smtp等协议也使用或借鉴了此格式。

由上可见,multipart/form-data将表单中的每个input转为了一个由boundary分割的小格式,没有转码,直接将utf8字节拼接到请求体中,在本地有多少字节实际就发送多少字节,极大提高了效率,适合传输长字节。

=======================================================

TCP 协议

就说他包含2点吧

1,字节流服务, 字节分割,发送字节流 

2, 三次握手, 经常听说三次握手, 按三次握手是什么意思呢,

1, a -> b   我发给你了
2, b -> a   我返回给你了
3,   a -> b    我收到你的返回了

=======================================================

IP 协议

通过 mac 地址找到 Ip, 或者通过 ip 找到 mac 地址, 反正目标就是找到 目标的电脑。

这中间可能涉及到中转路由, 路由规划,

 

=======================================================

=======================================================

=======================================================

=======================================================

=======================================================

=======================================================

 

=======================================================

=======================================================

=======================================================

 

=======================================================

网页本来是在网络服务器里面的,然后被传到浏览器,然后和浏览器的一个约定。约定好什么内容类型。

==

Content-Type,内容类型,一般是指网页中存在的Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些Asp网页点击的结果却是下载到的一个文件或一张图片的原因。

----

原则上浏览器会根据Content-Type来决定如何显示返回的消息体内容。

- 浏览器也不知道如何去解析从服务器传过来的内容,于是,他去找这个内容里关于content-type的规定,然后调用相应的语句去处理接收到的内容。

posted @ 2015-05-04 17:34  qqisnow2021  阅读(329)  评论(0)    收藏  举报