网络应用模型
1、客户/服务器模型
2、P2P模型
DNS系统
1、层次域名空间
2、域名服务器
3、域名解析过程
FTP
1、FTP协议的工作原理
2、控制连接与数据连接
电子邮件
1、电子邮件系统的组成结构
2、电子邮件格式与MIME
3、SMTP协议与POP3协议
WWW
1、WWW的概念与组成结构
HTTP协议
HTTP请求与响应步骤:
-
客户端连接到Web服务器:一个HTPP客户端,假设是浏览器,与WEB服务器的HTTP端口(默认为80)建立一个TCP套字节连接。
-
发送HTTP请求:通过TCP套字节,客户端向Web服务器发送一个文本请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
-
服务器接受请求并返回HTTP响应:Web服务器解析请求,定位请求资源。服务器将资源副本写道TCP套字接,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
-
释放连接TCP连接:若connection模式为close,则服务器主动关闭TCP连接,客户端被动关闭连接,释放TCP连接;若connection模式为keepalive,则该连接会保持一段时间,在该时间内可以继续接受请求。
-
客户端浏览器解析html内容:客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTMl,根据html的语法对其进行格式化,并在浏览器窗口中显示。
-
例如,在浏览器地址栏中输入URL,按下回车之后会经历以下流程:
-
浏览器向DNS服务器请求解析该URL中的域名所对应的IP地址。
-
解析出IP地址后,根据该IP地址和默认端口80,和服务器建立TCP连接。
-
浏览器发出读取文件(URL中域名后面部分对应的文件)的http请求,该请求报文作为TCP三次握手的第三个报文的数据发送给服务器。
-
服务器对浏览器请求做出响应,并把对应的heml文本发送给浏览器;
-
释放TCP连接;
-
浏览器将该html文本返回并显示内容。
-
-
GET和POST请求的区别:
GET | POST |
---|---|
从服务器上获取数据 | 向服务器传送数据 |
对于客户来说,GET提交的数据放在URL之后 | POST方法是把提交的数据放在HTTP包的Body中 |
在客户端来说,Get方式在通过URL提交数据,参数在请求行里面,数据在URL中可以看到 | POST,数据在请求体里面,数据放置在HTML HEADER内提交 |
需要使用Request.QueryString来取变量的值 | 通过Request.Form来取变量的值 |
从服务器上获取数据 | 向服务器传送数据 |
注意
:GET方式提交数据,会带来安全问题,比如一个登录页面,通过GET方式提交数据时,用户名和密码将出现在URL上,如果页面可以被缓存或者其他人可以访问这台机器,就可以从历史记录获得该用户的账号和密码.