1.TCP/IP协议
1)分层 应用层,传输层,网络层,接口层
2)Ip地址
3)域名
4)URL统一资源定位符 格式: [协议]://[主机]:[端口]/[路径]?[参数]
协议是HTTP,FTP等应用层协议,主机是域名或者IP地址,端口是传输层端口号,路径是以“/”分割的主机内的路径,参数是以“&”分割的若干键值对
2.TCP/UDP
1)端口的概念
2)TCP 一种面向连接的,可靠的,基于字节流的传输层通信协议
3)UDP 无连接,面向事务的简单的不可靠信息传送服务
3.HTTP 超文本传输协议
HTTP消息结构:
第一部分叫Request line, 第二部分叫Request header, 第三部分是body. header和body之间有个空行。
【请求方法】 【URL】【协议版本】
【头字段1】:【值1】
。。。
【头字段】【值n】
【消息体】
第一行中的Method表示请求方法,比如"POST","GET", Path-to-resoure表示请求的资源, Http/version-number 表示HTTP协议的版本号
GET http://www.cnblogs.com/ HTTP/1.1
Host: www.cnblogs.com
当使用的是"GET" 方法的时候, body是为空的
再看Response消息的结构, 和Request消息的结构基本一样。 同样也分为三部分,第一部分叫Response line, 第二部分叫Response header,第三部分是body. header和body之间也有个空行, 结构如下图、
【协议版本】【错误码】【错误字符串】
【头字段】【值】
【消息体】
常用头字段
常用错误码
状态代码有三位数字组成,第一个数字定义了响应的类别,共分五种类别:
1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求
常见状态码:
200 OK //客户端请求成功
400 Bad Request //客户端请求有语法错误,不能被服务器所理解
401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
403 Forbidden //服务器收到请求,但是拒绝提供服务
404 Not Found //请求资源不存在,eg:输入了错误的URL
500 Internal Server Error //服务器发生不可预期的错误
503 Server Unavailable //服务器当前不能处理客户端的请求,一段时间后可能恢复正常Socket编程
Socket编程: 非标准协议的开发编程,使用Socket进行Tcp和Udp的开发