网络编程
写这篇博客的原因很简单,面试时被考官问的一愣一愣的,回答时断断续续。下来后,发愤图强,一定要记住,不能再一个地方跌倒两次。网络由下往上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
通过查阅资料,了解IP协议对应于网络层,TCP协议和UDP协议对应于传输层,而HTTP协议对应于应用层。通俗的说:TCP/IP协议,主要解决数据如何在网络中传输;HTTP协议,主要解决如何包装数据。
HTTP协议和TCP/IP协议的关系介绍: “我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”
socket和TCP/IP协议的关系介绍: “TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准的编程接口,比如win32编程接口一样,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。”
下面还有之后补充……