1.DNS系统
运行在UDP之上,使用53端口。当dns进行域传输时,是基于TCP。
1.1层次域名空间
如:www.baidu.com。 由‘.’分割,从左到右依次是标号www三级域名、标号baidu二级域名、标号com顶级域名。
标号不区分大小写,除了连字符(-)外不能使用其他标点符号,每个标号不超过63个字符,多标号完整域名不超过255字节(4个标号+3个.)
1.2域名解析
主要分两种:
(一)递归查询:会造成根域名服务器压力过大,实际几乎不用。
(二)递归与迭代结合查询:
2.http
2.1访问url过程
(1)浏览器解析url
(2)浏览器向dns请求解析url的ip地址
(3)浏览器与服务器建立TCP连接
(4)浏览器发出http请求
(5)服务器响应发送response给浏览器
(6)tcp连接释放
(7)如果是一个web请求,则浏览器会对response中的html进行解释渲染
2.2http协议特点
(1)是无状态的,使得更容易支持大量并发http请求,通常使用cookis加数据库的方式来跟踪用户活动,执行一些个性化的工作。
(2)采用tcp作为传输协议,保证可靠,但是http本身是无连接的,也就是说,在http通信前不需要建立http连接
(3)tcp第三次握手就能携带http请求
(4)对于http非持久连接,每个资源都要经过2个rtt时间(3次握手+1次响应,因为第三次握手能携带http请求)加上一个传输文档的时间
(5)对于http持久连接,在1.1版本中默认使用流水线模式,每遇到一个对象引用就会立即发出一个请求,那样所有引用的对象共计经历1个rtt延迟
2.3报文结构
request:
response:
2.4状态码
1xx(信息):收到请求,继续处理
2xx(成功):请求已成功接收,理解和接受
3xx(重定向):需要采取进一步措施才能完成请求
4xx(客户端错误):请求包含错误的语法或无法满足
5xx(服务器错误):服务器无法满足明显有效的请求