HTTP协议(Hyper Text Transfer Protocol,超文本传输协议),简译万维网(WWW:World Wide Web)应用层的协议。定义了客户端与服务器端之间文本传输的规范。HTTP默认使用80端口,这个端口指的是服务端的端口,而客户端使用的端口是动态分配的。当我们没有指定端口访问时,浏览器会默认帮我们添加80端口。我们也可以自己指定访问端口如:http://localhost:81
。 需要注意的是,现在大多数访问都使用了HTTPS协议,而HTTPS的默认端口为443,如果使用80端口访问HTTPS协议的服务器可能会被拒绝!
HTTP 和 TCP 的关系
因为浏览器使用 HTTP 协议作为应用层协议,用来封装请求的文本信息;并使用 TCP/IP 作传输层协议将它发到网络上,所以在 HTTP 工作开始之前,浏览器需要通过 TCP 与服务器建立连接。也就是说 HTTP 的内容是通过 TCP 的传输数据阶段来实现的,你可以结合下图更好地理解这二者的关系。
1.HTTP 工作原理
HTTP协议定义客户端如何从Web服务器请求页面,以及服务器如何把页面传送给浏览器。HTTP协议采用了请求/响应模型。浏览器向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据!
2.HTTP请求过程
1.首先通过DNS对域名进行解析(如果是IP地址就不用解析了)
2.通过TCP三次握手