计算机网络应用层--龙之介计算机网络学习(2)

概述: 其实计算机网络主要聊的就是因特网五层协议栈的那几种协议,通过对各个协议的构成,了解一个数据包(报文)是如何从网络中完成传输的作用。
这是一个系列的,主要用于自己复习计网。
协议分层概念–龙之介计算机网络学习(1)

今天我介绍的是应用层。

应用层:

应用层是离我们最近的一层协议了,也是第五层协议。他主要是有关网络应用的原理和实现方面的知识。
比如,web,电子邮件,DNS,对等文件分发,视频流。
我只介绍面式常问的HTTP和DNS,其他的有兴趣可以去看黑皮书《计算机网络自顶向下方法》

web HTTP协议:
超文本传输协议HTTP(HyperText Transfer Protocol)是Web的无状态协议(不保存用户状态,只接受请求和回复响应,比如你打开一个网页,你刷新之后又是重新请求连接)。

HTTP是基于TCP运行的。

  1. . 报文格式:

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 ………)

  1. 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服务器

你可能感兴趣的:(龙之介计算机网络学习,分布式,网络,session,http)