HTTP协议工作原理
HTTP协议定义Web客户端如何从Web服务器请求Web页面,以及服务器如何把Web页面传送给客户端。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求报文,请求报文包含请求的方法、URL、协议版本、请求头部和请求数据。服务器以一个状态行作为响应,响应的内容包括协议的版本、成功或者错误代码、服务器信息、响应头部和响应数据。下图表明了这种请求/响应模型。
以下是HTTP请求/响应的步骤:
(1)客户端连接到Web服务器
一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.oakcms.cn。
(2)发送HTTP请求
通过TCP套接字,客户端向Web服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求数据4部分组成。
(3)服务器接受请求并返回HTTP响应
Web服务器解析请求,定位请求资源。服务器将资源复本写到TCP套接字,由客户端读取。一个响应由状态行、响应头部、空行和响应数据4部分组成。
(4)释放连接TCP连接
Web服务器主动关闭TCP套接字,释放TCP连接;客户端被动关闭TCP套接字,释放TCP连接。
(5)客户端浏览器解析HTML内容
客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若干字节的HTML文档和文档的字符集。客户端浏览器读取响应数据HTML,根据HTML的语法对其进行格式化,并在浏览器窗口中显示。
HTTP协议特点
1.支持客户、服务器模式:HTTP协议是为b/s而生的,是基于web产生,http协议不仅限于b/s,凡是能够发出http请求的东西,都可以使用http协议访问服务器。
2.简单快速【只需请求方法和路径】:用户通过浏览器发起请求的时候;输入url即可
3.灵活【任意数据】:可以传输任意数据类型,不管是字符流还是二进制流
4.无连接【每次链接只处理一个请求】:当浏览器发起一次请求之后,服务器只能对当前请求产生一次响应,响应完就会关闭链接
5.无状态【失误处理没有记忆能力】:同一浏览器连续多次向服务器发起请求,服务器都不认识(可以使用cookie解决无状态问题)
HTTP请求方法

1万+

被折叠的 条评论
为什么被折叠?



