107.网络通信
2016-07-21 14:40:40 0 举报
AI智能生成
网络通信是现代科技发展的重要成果,它通过各种电子和无线设备,使得信息可以在任何时间、任何地点进行传输。这种通信方式不仅包括电子邮件、即时消息、社交媒体等,还包括在线视频、音频和数据下载等。网络通信的优点是快速、便捷,可以跨越地域限制,实现全球范围内的信息交流。同时,网络通信也带来了信息安全、隐私保护等问题,需要我们在使用过程中注意保护个人信息。总的来说,网络通信已经成为我们日常生活和工作中不可或缺的一部分,它极大地改变了我们获取和传递信息的方式。
作者其他创作
大纲/内容
概述
分层
1. 实体层 Physical Layer
物理连接,电气规范
2. 链接层 Link Layer
协议:以太网协议
MAC地址
广播 broadcasting
ARP协议
3. 网络层 Network Layer
子网络,网络地址
协议:IP协议
为每一台计算机分配IP地址
确定哪些地址在同一个子网络
子网掩码
用于判断任意两个IP是否在同一个子网络
IP数据包
4. 传输层 Transport Layer
端口
主机+端口->套接字
UDP协议
"标头"部分8个字节,总长度不超过65,535字节
缺点:可靠性较差,一旦数据包发出,无法知道对方是否收到
TCP协议
就是有确认机制的UDP协议,每发出一个数据包都要求确认
TCP数据包没有长度限制
5. 应用层 Application Layer
DHCP:建立在UDP协议之上
DNS:将域名转换为IP地址
HTTP:会嵌套在TCP数据包之中
HTTPS
传输协议
SSL
Secure Sockets Layer 3.0
TLS
Transport Layer Security 1.0
基本原理
在传输数据之前需要客户端(浏览器)与服务端(网站)之间进行一次握手,在握手过程中将确立双方加密传输数据的密码信息。
握手过程:参考107-1.HTTPS过程
加密解密算法
一般使用的加密与HASH算法
非对称加密算法:RSA,DSA/DSS
对称加密算法:AES,RC4,3DES
HASH算法:MD5,SHA1,SHA256
非对称加密算法用于在握手过程中加密生成的密码
对称加密算法用于对真正传输的数据进行加密
而HASH算法用于验证数据的完整性
证书
SSL证书
用于加密HTTP协议,也就是HTTPS
代码签名证书
用于签名二进制文件,比如Windows内核驱动,Firefox插件,Java代码签名等等
客户端证书
用于加密邮件
双因素证书
网银专业版使用的USB Key里面用的就是这种类型的证书
参考
HTTPS那些事(一)HTTPS原理
HTTPS那些事(二)SSL证书
HTTPS那些事(三)攻击实例与防御
大型网站的HTTPS实践一:HTTPS协议和原理
HTTPS专题
HTTP
请求
Header
Cache 头域
If-Modified-Since
校验缓存
If-Modified-Since: Thu, 09 Feb 2012 09:07:57 GMT
If-None-Match
Cache-Control
Cache-Control:Public
可以被任何缓存所缓存
Cache-Control:Private
内容只缓存到私有缓存中
Cache-Control:no-cache
所有内容都不会被缓存
Client 头域
Accept
浏览器端可以接受的媒体类型
Accept: text/html
User-Agent
告诉HTTP服务器, 客户端使用的操作系统和浏览器的名称和版本
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; CIBA; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; InfoPath.2; .NET4.0E)
Cookie/Login 头域
Cookie
将cookie的值发送给HTTP 服务器
Entity头域
Content-Length
Content-Type
Content-Type: application/x-www-form-urlencoded
Miscellaneous 头域
Referer
提供了Request的上下文信息的服务器,告诉服务器我是从哪个链接过来的
Referer:http://translate.google.cn/?hl=zh-cn&tab=wT
Transport 头域
Connection: keep-alive
当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接
Connection: close
代表一个Request完成后,客户端和服务器之间用于传输HTTP数据的TCP连接会关闭, 当客户端再次发送Request,需要重新建立TCP连接
Host
请求报头域主要用于指定被请求资源的Internet主机和端口号,它通常从HTTP URL中提取出来的
Transfer-Encoding
Method
GET
POST
PUT
DELETE
HEAD
响应
Header
Cache头域
Date
生成消息的具体时间和日期
Date: Sat, 11 Feb 2012 11:35:14 GMT
Expires
浏览器会在指定过期时间内使用本地缓存
Expires: Tue, 08 Feb 2022 11:35:14 GMT
Cookie/Login 头域
P3P
用于跨域设置Cookie, 这样可以解决iframe跨域访问cookie的问题
P3P: CP=CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR
Set-Cookie
用于把cookie 发送到客户端浏览器, 每一个写入cookie都会生成一个Set-Cookie
Set-Cookie: sc=4c31523a; path=/; domain=.acookie.taobao.com
Entity头域
ETag
和If-None-Match 配合使用
ETag: "03f2b33c0bfcc1:0"
Last-Modified
用于指示资源的最后修改日期和时间
Last-Modified: Wed, 21 Dec 2011 09:09:10 GMT
Content-Type
WEB服务器告诉浏览器自己响应的对象的类型和字符集,
Content-Type:text/html;charset=GB2312
Content-Type: image/jpeg
Content-Length
实体正文的长度,以字节方式存储的十进制数字来表示。
Content-Length: 19847
Content-Encoding
WEB服务器表明自己使用了什么压缩方法(gzip,deflate)压缩响应中的对象
Content-Encoding:gzip
Miscellaneous 头域
Server
指明HTTP服务器的软件信息
Server: Microsoft-IIS/7.5
Transport头域
Connection
Connection: keep-alive
Connection: close
Location头域
Location
用于重定向一个新的位置, 包含新的URL地址
状态码
1XX 提示信息 - 表示请求已被成功接收,继续处理
2XX 成功 - 表示请求已被成功接收,理解,接受
3XX 重定向 - 要完成请求必须进行更进一步的处理
4XX 客户端错误 - 请求有语法错误或请求无法实现
5XX 服务器端错误 - 服务器未能实现合法的请求
URL
schema://host[:port#]/path/.../[;url-params][?query-string][#anchor]
URL(Uniform Resource Locator) 地址用于描述一个网络上的资源
有状态的HTTP
Cookie
状态保存在客户端
有大小长度限制
Session
状态保存在服务器端
更安全
实现方式
JSESSIONID
URL
HTTP应用
代理/反向代理
虚拟主机
多线程下载/断点续传
TCP
0 条评论
下一页