HTTP基础(一)
HTTP协议
介绍 :HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
重要性:无论是webservice还是rest都离不开对HTTP协议的认识。
简化来说: webservice = HTTP协议 + XML
rest = HTTP协议 + json
计算机之所以能全世界互通,协议是功不可没的,如果没有协议(就像国内普通话是官方语言),计算机各说各话(每个地区只用方言),那谁都听不懂谁。
计算机协议有很多种:tcp/ip、http、ftp等。。。
HTTP协议工作于客户端-服务端架构上。浏览器作为HTTP客户端通过URL向HTTP服务端即WEB服务器发送所有请求。
WEB服务器有:Apache服务器,IIS服务器,Nginx服务器等。
HTTP协议即按一定规则,客户端向服务器请求数据,或发送数据,而服务器按一定规则,回应数据。
HTTP默认端口号为80,但是也可以改为8080或者其他端口。
HTTP协议的工作流程
当你打开一个页面时,发生了什么?
原始状态:客户端和服务器之间,没有关系
建立连接:连接就是网络上的虚拟电路(如tcp/ip三次握手)
总结:
(1)客户与服务器建立连接;
(2)客户向服务器提出请求;
(3)服务器接受请求,并根据请求返回相应的文件作为应答;
(4)客户与服务器关闭连接。
HTTP三点注意事项:
1. HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户端的请求,并收到客户端的应答后,即断开连接。采用这种方式可以节省传输时间。
2. HTTP是媒体独立的:这意味着,只要客户端和服务端知道如何处理数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务端指定使用合适的MIME-type内容类型。()
3. HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传输的数据量增大 。另一方面,在服务端不需要先前信息时它的应答就较快。