1.Http协议介绍
超文本传输协议(Hypertext Transfer Protocol)
Http是应用层协议,浏览网页时,浏览器和服务器之间,会通过Http在Internet上进行数据的发送和接收
** Http是基于 请求 / 响应 模式的,无状态协议 **
HTTP1.0 浏览器与服务器通信过程:
1.客户发起连接
2.客户发送请求 request
3.服务器响应请求 response
4.服务器关闭连接
HTTP1.1 版本中,出现 持续连接 机制:客户端可以连续发送多个请求,不用等待每个响应的到来
2.Http URL
URL——统一资源定位符,Uniform Resource Locator
格式:http://host [:port] [abs_path]
http表示通过HTTP协议来定位网络资源
host表示合法的Internet主机域名或IP地址
port用于指定一个端口号,拥有被请求资源的服务器主机监听该端口的TCP连接。如果port是空,默认80
abs_path指定请求资源的URI——统一资源标识符
URL是一种特殊类型的URI
浏览器与服务器连接的一般过程:
在浏览器输入网址时,浏览器自动在网址后面加上80,DNS(Domain Name Service域名解析服务)会把域名转换成IP地址:80,
ServerSocket serverSocket = new ServerSocket(80);
serverSocket.accept();
www.baidu.com + 80——DNS——119.175.218.70::80
Socket socket = new Socket(“119.175.218.70” , 80)
3.Http请求和响应
客户端通过发送HTTP请求,向服务器请求对资源的访问
HTTP请求由三部分组成:请求行,消息报头,请求正文
HTTP响应由三部分组成:状态行,消息报头,响应正文
请求行的格式:Method Request-URI HTTP-Version CRLF
method请求方法主要是GET和POST
GET:请求获取由Request-URI所标识的资源。采用直接输入网址的方法访问网页时,浏览器采用GET方法向服务器获取资源
POST:在Request-URI所表示的资源后,附加新的数据
HEAD:请求获取由Request-URI所标识的资源的响应消息报头