HTTP协议

协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则

HTTP(Hypertext Transfer Protocol ,超文本传输协议)是一种详细规定了浏览器和万维网(World Wide Web, WWW)服务器之间互相通信的规则,

通过因特网传送万维网文档的数据传送协议 HTTP 协议可以使浏览器更加高效地运行,使网络传输效率更高 它不仅保证计算机正确快速 地传输超文本文档,

还确定传输文档中的哪一部分内容首先显示(如文本先于图形) HTTP 由于其灵活 简单 快速的特点,应用非常广泛 浏览网页 HTTP 的主要应用,

但是这并不代表 HTTP 就只能应用于网页的浏览 HTTP 种协议,只要通信的双方都遵 守这个协议,

HTTP 就能有用武之地,比如常用的 QQ 迅雷这些软件,都使用了 HTTP 协议

HTTP与HTTPS的区别如下

HTTP是基于传输层TCP协议,而TCP是一个端到端的面向连接的协议

所谓端到端可以理解为进程对进程之间的通信,所以HTTP在开始传输值钱,首先需要建立TCP连接,

而TCP连接的过程需要进行三次握手,在TCP三次握手之后,建立了TCP连接,此时HTTP就可以进行传输了

HTTP1.1通过connection投设置了,默认HTTP传输完成后不断开TCP连接。

在此之前的版本,HTTP则默认是断开连接的,也就是同一个客户端这次请求和上次请求是没有关系的

一次HTTP操作的过程如下:

(1)首先客户机和服务器需要建立连接(三次握手),重要单机某个超级链接,HTTP的工作就开始了

(2)建立连接后,客户机发送一个请求给服务器,请求方式的格式为:

统一资源标识符(URL),协议版本号,后边是MIMIE(包括请求修饰符,客户机信息和可能的内容)

(3)服务器接到请求后,给予相应的相应信息,其格式为一个状态行

包括:信息的协议版本号,一个成功或错误的代码,后边是MIME信息(包括服务器信息,实体信息和可能的内容)

(4)客户端接收服务器所返回的信息通过浏览器显示在用户的显示屏上,然后客户机与服务器断开连接

如果以上过程某一步出现了错误,那么产生的错误信息将返回到客户端,由显示屏输出。对于用户来说,这些过程都是有HTTP自己完成的

用户只要用鼠标操作,等待信息显示就可以了

HTTP协议结构

HTTP协议无论是请求报文还是回应报文都包括以下4个部分

(1)报文头,举个例子

“GET http://www.baidu.com/favicon.ico HTTP/1.1”

表示用GET方法请求http://www.baidu.com/favicon.ico这个文件,用的是HTTP/1.1协议

(2)0个或多个请求头(header line),例如Accept-Language:en

(3)空行(作为header lines的结束)

(4)可选的消息体

HTTP的请求方法

HTTP 1.1 议中共定义了9种方法(有时也叫“动作”)来 Request-URI 指定的资 源的不同操作方式,如下所述

(1) OPTIONS :返回服务器针对特定资源所支持的 HTTP 请求方法;也可以利用向 We 服务器发送“*”的请求来测试服务器的功能性

(2) HEAD :向服务器索要与 GET 请求相一致的响应,只不过响应体将不会被返回。这一方法可以在不必传输整个响应内容的情况下,

就可以获取包含在响应消息头中的元信息,该方法常用于测试超链接的有效性,是否可以访问,以及最近是否更新等信息

( 3) GET :向特定的资源发出请求。

注意:GET 方法不应当被用产生“副作用”的操作中,例如在 web app 中的应用,其中一个原因是GET可能会被网络蜘蛛等随意访问

( 4 ) POST :向指定资源提交数据进行处理请求(例如提交表单或者上传文件)

数据被包含在请求体中,POST 请求可能会导致新的资源的建立或对已有资源的修改

( 5 ) PUT :向指定资源位置上传其最新内容

( 6) DELETE:请求服务器删除 Request-URI 所标识的资源

( 7 ) TRACE :回显服务器收到的请求,主要用于测试或诊断

( 8) CONNECT: HTTP 1.1 协议中预留给能够将连接改为管道方式的代理服务器

( 9) PATCH :用来将局部修改应用于某一资源

方法名称是区分大校写的,当某个请求所针对的资源不支持对应的请求方法时,服务器就会返回状态码405;

当服务武器不认识或不支持对应的请求方法时,应当返回状态码501

原文地址:https://www.cnblogs.com/tijie/p/10583071.html