DNS(域名系统)
DNS提供了主机名和IP地址相互转换的服务,如上图,访问baidu.com会先请求DNS服务,转换成IP地址后再访问,这样解决了IP地址难记忆的问题。
www是三级域,taobao是二级域,com是顶级域
顶级域可分为国家和通用两种类型,.com代表公司,.net代表网络服务机构,.gov代表政府机构,.org代表组织。
DHCP协议(动态主机设置协议)
DHCP协议提供了即插即用的连网方式,用户不再需要手动配置 IP 地址等信息。
DHCP的工作流程:
通过以上步骤,主机就可以拥有了自己的IP地址,可以访问网络了
HTTP协议(超文本传输协议)
http(s): //<主机>: <端口> / <路径>
HTTP请求方法
以下为主要的请求方法:
那么如何指定资源呢?
一个是在地址中指定,还有一种方法是在请求数据中指定
如:
HTTP状态码
200~299:
200 OK
204 No Content :请求已经成功处理,但是返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息,而不需要返回数据时使用。
206 Partial Content :表示客户端进行了范围请求,响应报文包含由 Content-Range 指定范围的实体内容。
300~399:
301 Moved Permanently :永久性重定向
302 Found :临时性重定向
303 See Other :和 302 有着相同的功能,但是 303 明确要求客户端应该采用 GET 方法获取资源。
注:虽然 HTTP 协议规定 301、302 状态下重定向时不允许把 POST 方法改成 GET 方法,但是大多数浏览器都会在 301、302 和 303 状态下的重定向把 POST 方法改成 GET 方法。
304 Not Modified :如果请求报文首部包含一些条件,例如:If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since,如果不满足条件,则服务器会返回 304 状态码。
307 Temporary Redirect :临时重定向,与 302 的含义类似,但是 307 要求浏览器不会把重定向请求的 POST 方法改成 GET 方法。
400~499:
400 Bad Request :请求报文中存在语法错误。
401 Unauthorized :该状态码表示发送的请求需要有认证信息(BASIC 认证、DIGEST 认证)。如果之前已进行过一次请求,则表示用户认证失败。
403 Forbidden :请求被拒绝。
404 Not Found
HTTP工作结构
1.Web缓存
2.Web代理
代理服务器接受客户端的请求,并且转发给其它服务器
用户察觉得到正向代理的存在
而反向代理一般位于内部网络中,用户察觉不到。
HTTPS协议
HTTP协议具有以下 安全性问题:
- HTTP是明文传输的,可能存在内容被窃听
- 不能验证通信方的身份
- 报文的完整性不能得到保证,可能存在报文丢失
HTTPS协议是安全的HTTP协议:
加密
1.对称加密
加密和解密用同一把钥匙
2.非对称加密
公开密钥所有人都可以获得,通信发送方获得接收方的公开密钥之后,就可以使用公开密钥进行加密,接收方收到通信内容后使用私有密钥解密,也就是公钥加密私钥解密,或者私钥加密公钥解密
数字证书
数字证书是可信任组织颁发给特定对象的认证
SSL(安全套接层)
HTTPS不是新协议,而是让 HTTP 先和 SSL(Secure Sockets Layer)通信,再由 SSL 和 TCP 通信,也就是说 HTTPS 使用了隧道进行通信。
HTTPS的过程
SSL安全参数握手
第二步服务器传输过来的数字证书包含公钥,所以第三步采用公钥加密随机数3,只有服务器的私钥才能解密随机数3,