网络编程

一、网络分层:
互联网上的计算机互相通信又归根于网络中层与层之间的通信,OSI模型把网络通信分成七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层;
对于开发网络应用人员来说,一般把网络分成五层,这样比较容易理解。
这五层为:
①物理层:为计算机之间的数据通信提供了传输媒体和互连设备,为数据传输提供了可靠的环境、
②数据链路层:对接受到物理层传输过来的比特流进行分组,一组电信号构成的数据包,就叫做"帧",数据链链路层就是来传输以"帧"为单位的数据包,把数据传递给上一层(网络层),帧数据由两部分组成:帧头和帧数据、
③网络层:该层通过寻址(寻址地址)来建立两个节点之间的连接,网络层中以IP数据包的形式来传递数据,IP数据包也包括两部分:头(Head)和数据(Data),IP数据包放进数据帧中的数据部分进行传输、
④传输层:传输层的功能就是建立端口到端口的通信,网络层就是建立主机与主机的通信,在传输层有两个非常重要的协议:UDP 协议和TCP协议
⑤应用层:是用户与网络的接口,该层通过应用程序来完成网络用户的应用需求。该层的数据放在TCP数据包的数据部分,该层定义了一个很重要的协议——Http协议

二、HTTP协议的简介
①HTTP中文为超文本传输协议,从名字上很容易理解,Http协议就是将超文本标记语言的文档(即Html文档)从web服务传送到客户端的浏览器。它属于一个应用层的协议。
②HTTP请求
Http请求由三部分组成:请求行、请求头和请求数据,一个HTTP请求的格式一般如下:

请求方法 URL HTTP版本号
请求头信息
<一个空行>
请求数据

三、HTTP响应
同样,Http响应也是由三部分组成:状态行,响应头和响应数据组成,Http响应格式如下:

状态行
响应头
<一个空行>
响应数据

状态行以HTTP版本号开始,后面跟着3为数字,代表响应代码,响应代码用来告诉客户端,服务器是否产生了预期的响应。如HTTP/1.1 200 OK.
HTTP/1.1中定义五种响应代码:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求

HTTP响应头用于服务器向客户端提供请求文档信息或服务端的状态信息,如图:


image.png

你可能感兴趣的:(网络编程)