1.1 HTTP简介
HTTP协议,即超文本传输协议(Hypertext transfer protlcol)。是一种详细规定了万维网(WWW=World wide web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。
HTTP协议为TCP/IP模型中的应用层的协议。HTTP协议通常承载于TCP协议之上,有时也承载于TLS/SSL协议层之上,即HTTPS。如下图:
HTTP是一个应用层协议,由请求和响应构成,是一个标准的CS(客户端服务器)模型,HTTP是一个无状态的协议。
HTTP协议默认的端口号为80,HTTPS协议的端口号为443。
浏览网页是HTTP的主要应用,但是这并不代表HTTP就只能应用于网页的浏览。HTTP是一种协议,只要通信的双方都遵守这个协议,就可以使用HTTP协议。
1.2 HTTP工作原理
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。
以下是 HTTP 请求/响应的步骤:
1、客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。