HTTP基础知识
书在python33点(0M
1.基本内容
HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
超文本传输协议(HTTP,Hyper Text Transfer Protocol)是一个简单的请求—响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器给什么的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。
HTTP是超文本传输协议,其中定义了客户端和服务器端之间文本传输的规范。HTTP默认使用80端口,这个端口指的是服务器端的端口,而客户端的端口是动态分配的。当我们没有指定端口访问时,浏览器会默认帮我们添加80端口。我们也可以自己指定访问端口。
HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP进行通信的HTTP的实现程序。
HTTP是基于B/S架构进行通信的,而HTTP的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、Internet Explorer、Google Chrome、Safari、Opera等,此外,客户端的命令行工具还有elink、curl等。
Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口。这样客户端浏览器和Web服务器之间就可以通过HTTP进行通信了。
2.请求方法
HTTP/1.1协议中定义了8种请求方法,来表明Request-URL指定的资源不同的操作方式。
HTTP/1.0定义了三种请求方法:GET、POST、HEAD方法 。
HTTP/1.1新增了五种方法:OPTIONS 、PUT、CONNECT、DELETE、TRACE这五种方法。