一、HTTP 请求的过程与原理
HTTP协议定义了浏览器怎么向服务器请求文档,以及服务器怎么把文档传给浏览器。
每个服务器都有一个进程,它不断监听TCP的80端口,以便发现是否有浏览器向它发出连接建立请求;
监听到连接请求,就会建立TCP连接;
浏览器向服务器发出浏览某个页面的请求,服务器返回所请求的页面作为响应;
最后释放TCP连接。
在浏览器和服务器之间的请求和相应的交互,必须按照规定的格式和遵循一定的规则,这些格式和规则就是超文本传输协议HTTP。
二、HTTP的报文结构
HTTP报文有两种,HTTP请求报文和HTTP响应报文。
2.1 HTTP请求报文
HTTP 请求报文的格式如下:
HTTP 请求报文的第一行叫做请求行,后面的行叫做首部行,首部行后还可以跟一个实体主体。请求首部之后有一个空行,这个空行不能省略,它用来划分首部与实体。
请求行包含三个字段:
方法字段,有POST、GET等;
URL字段;
HTTP版本字段。
2.2 HTTP响应报文
HTTP响应报文格式如下:
状态行包含了三个字段:协议版本字段、状态码和相应的状态信息。
实体部分是报文的主要部分,它包含了所请求的对象。
首部行首部可以分为四种首部,请求首部、响应首部、通用首部和实体首部。
通用首部和实体首部在请求报文和响应报文中都可以设置,区别在于请求首部和响应首部。