tcp/ip协议
(tcp协议和ip协议是众多协议中最重要的,所以用这两者命名)
tcp/ip协议包含了互联网基础的网络协议,特点是分层管理:
应用层:http协议(超文本传输)、ftp协议(文件传输)、dns协议(域名系统);
传输层:tcp协议(建立连接、超时重传、发送和接收方确认)、udp协议(没有确认机制)
网络层:处理发送和返回的数据包(包括ip协议);
链路层:硬件部分。
二、http协议的特点:
1、快速简单,明文传输
2、灵活(根据头部分的数据类型,就可以完成对不同数据类型的传输)
3、无连接(连接一次就会断开)
4、无状态(不会记住上次连接者的身份)
三、http的方法
post:发送 与post区别(后一个不会把前一个覆盖,用post来新增资源)
put:与post区别(两个相同的请求,后一个会把前一个覆盖掉,用put来改资源)
head:只获取头部,可查看资源是否存在
delete:删除某个资源;
options:查看当前uri所支持的方法
四、http状态码
1**:请求已接收,继续处理;
2**:请求已被成功接收;
3**:重定向;
4**:客户端错误;
5**:服务端错误;
200:成功;
206:已完成一部分的请求(断点续传时,客户端发送一个带有range头的get请求,服务器已完成)
301:已永久重定向;
302:临时重定向;
304:缓存还可用;
403:被禁止;
404:请求资源不存在;
503:服务器崩溃,过段时间可恢复。
附:断点续传
从文件已经下载的地方开始继续下载
请求头加上开始下载的节点:Range:bytes=2000-
五、http1.1版本特性
1、默认持久连接,Connection:keep-alive模式避免重新建立连接。
2、管线化,客户端同时发送多个http请求,而不用等待一个一个响应。
六、http的优化方案
1、持久连接。
2、http复用(管线化),多个http请求通过一个tcp连接进行处理。
3、内容缓存。将常用的内容进行缓存,客户端直接在内存读取数据。
4、压缩,减少带宽。
5、加密,使用ssl协议对http协议进行加密,
6、tcp缓冲,提高服务器的响应时间和处理效率。
七、从输入url到渲染完成经历了什么?
1、根据地址栏中的域名进行DNS解析,(查询浏览器DNS缓存=>系统DNS缓存=>hosts文件的缓存=>都没有,则DNS服务器端将对应的IP地址返回; 2、浏览器根据返回的ip,找到对应的服务器,并与服务器建立TCP连接; 3、向服务器发送http请求; 4、服务器响应请求,并返回数据; 5、浏览器下载返回的数据; 6、解析html,生成DOM树,解析css和js,渲染页面。