计算机网络应用层--龙之介计算机网络学习(2)
概述: 其实计算机网络主要聊的就是因特网五层协议栈的那几种协议,通过对各个协议的构成,了解一个数据包(报文)是如何从网络中完成传输的作用。
这是一个系列的,主要用于自己复习计网。
协议分层概念–龙之介计算机网络学习(1)
今天我介绍的是应用层。
应用层:
应用层是离我们最近的一层协议了,也是第五层协议。他主要是有关网络应用的原理和实现方面的知识。
比如,web,电子邮件,DNS,对等文件分发,视频流。
我只介绍面式常问的HTTP和DNS,其他的有兴趣可以去看黑皮书《计算机网络自顶向下方法》
web HTTP协议:
超文本传输协议HTTP(HyperText Transfer Protocol)是Web的无状态协议(不保存用户状态,只接受请求和回复响应,比如你打开一个网页,你刷新之后又是重新请求连接)。
HTTP是基于TCP运行的。
- . 报文格式:
http请求报文:
GET /somedir/page.html HTTP/1.1
Host : www.someschool.edu
Connection: close
User-agent : Mozilla/5.0
Accept-language: fr请求行:
方法字段 URL字段 HTTP版本字段 “GET /somedir/page.html HTTP/1.1 “ GET 请求对象的标识 POST HEAD PUT DELETE
首部行:
首部字段值 值 Host : www.someschool.edu Connection: close User-agent : Mozilla/5.0 Accept-language: fr
http响应报文:
HTTP/1.1 200 OK
Connection : close
Date: Tue, 18 Aug 2015 15:44:04 GMT
Server: Apache/2.2.3 (CentOS)
Last_Modified: Tue, 18 Aug 2015 15:11:03 GMT
Content-Lenth:text/html
(data data data data ………)状态行:
版本 状态码 短语 HTTP/1.1 200 OK
301 Moved Permantenly
400 Bad Request
404 Not Found
505 HTTP Version Not Support首部行:
首部字段名 值
Connection : close
Date: Tue, 18 Aug 2015 15:44:04
GMT Server: Apache/2.2.3 (CentOS) 》
Last_Modified: Tue, 18 Aug 2015 15:11:03 GMT
Content-Lenth: text/html实体行:(data data data data ………)
- Cookies 和 Session
1. cookie 是一种能够识别用户的一种在web站点对用户进行追踪 的技术。因此cookie可以在无状态的HTTP之上建立一个用户会话 层。可以用来在某个WEB站点会话间持久的保持数据 比如,电子商务中的购物车,电子邮件注册等。 2. session其实指的就是访问者从到达某个特定主页到离开为止 的那段时间。 Session其实是利用Cookie进行信息处理的,当用 户首先进行了请求后,服务端就在用户浏览器上创建了一个 Cookie,当这个Session结束时,其实就是意味着这个Cookie 就过期了 3. cookie数据保存在客户端,session数据保存在服务器端。
DNS:
好比每个人都有姓名和身份证。这两个都能作为身份标识,但是普通人应该更乐意使用更好记的姓名而不是一长串数字吧。
如果找人用姓名身份证的话,那么找主机就用DNS。
DNS(域名系统)是一种可以识别主机名或者IP地址的协议(用于将主机名转换为IP地址,目的是为了在茫茫人网络中找到目标主机)。DNS是由分层的DNS服务器实现的分布式数据库,使得主机能够查找分布式数据库的应用层协议。运行在UDP协议之上端口53
主机解析域名顺序:DNS缓存->本地DNS服务器->根DNS服务器->*域DNS服务器->权威DNS服务器
下一篇: 个人常用的一些快捷键