HTTP是超文本传输协议,是无连接,无状态的,是可靠的传输协议,因为用的是TCP传输的。
无链接指限制每次连接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,即断开链接。可以节省传输时间。
无状态指协议对于事务处理没有记忆。缺少状态意味着如果后续处理需要前面的信息,必须重传,这可能导致每次连接传输的数据量增大。
URI:统一资源标志符,有两种形式URL,URN
URL(统一资源定位符)是最常见的形式,也几乎所有见到的都是,描述了一台特定服务器上某个资源的特定位置。
URN(统一资源名),实验阶段。
HTTP报文组成,非常简单,包括三部分:起始行,包含属性的首部块,以及可选的包含数据的主体部分。
报文分两类,一类是请求报文,一类是响应报文,区别只在于起始行不同。
以下是请求报文格式
请求报文的首行称之为请求行,包括方法 资源的URL HTTP协议版本。GET,HEAD都被认为是安全的方法,意味着使用GET或HEAD的HTTP请求不会产生什么动作。即不会在服务器上产生什么结果(一般情况下是的,说白了就是没有脚本神马的)。PUT方法向服务器传东西,允许用户对内容进行更改,很多web服务器都要求在执行PUT之前,用密码登录。POST通常是表单数据,填好的数据发给网关程序(如CGI程序),用户名密码登录就是用的POST,服务器需要验证用户名和密码。TRACE方法主要用于诊断,用于验证是否如愿穿过了请求/响应链。因为客户端发起一个请求时,请求可能穿过防火墙,代理,网关或其他一些应用程序,这些中间节点都会修改原来的请求,TRACE允许客户端在最终将请求发送给服务器时,看看最后变成什么样子。TRACE请求中不能带有主题,相应的实体主题包含了相应服务器受到的请求的精确副本。
响应报文格式
每个范围具体的状态码对应的情况;







以上是各个阶段的状态码对应的具体情况。起始行之后是首部,包括通用首部,请求首部,相应首部。也有很多很多内容和分类,就不写了。。。
无链接指限制每次连接只处理一个请求。服务器处理完客户的请求,并受到客户的应答后,即断开链接。可以节省传输时间。
无状态指协议对于事务处理没有记忆。缺少状态意味着如果后续处理需要前面的信息,必须重传,这可能导致每次连接传输的数据量增大。
URI:统一资源标志符,有两种形式URL,URN
URL(统一资源定位符)是最常见的形式,也几乎所有见到的都是,描述了一台特定服务器上某个资源的特定位置。
URN(统一资源名),实验阶段。
HTTP报文组成,非常简单,包括三部分:起始行,包含属性的首部块,以及可选的包含数据的主体部分。
报文分两类,一类是请求报文,一类是响应报文,区别只在于起始行不同。
以下是请求报文格式
<method><resuest-URL><version>
<headers>
<entity-body>
方法 | 描述 | 是否包含主体 |
---|---|---|
GET | 从服务器中获取一份文档 | 否 |
HEAD | 只从服务器获取文档的首部 | 否 |
POST | 向服务器发送需要处理的数据,发送到一个服务器网关应用程序 | 是 |
PUT | 将请求的主题部分存储在服务器上 | 是 |
TRACE | 对可能经过代理服务器传送到服务器上去的报文进行追踪 | 否 |
OPTIONS | 决定可以在服务器上执行哪些方法 | 否 |
DELETE | 从服务器上删除一份文档 | 否 |
响应报文格式
<version><status><reason-phrase>
<headers>
<entity-body>
响应报文的首行称之为相应行,包括 HTTP协议版本,状态码,与状态码对应的文本解释。已定义范围 | 分类 | |
---|---|---|
100-199 | 100-101 | 信息提示 |
200-299 | 200-206 | 成功 |
300-399 | 300-305 | 重定向 |
400-499 | 400-415 | 客户端错误 |
500-599 | 500-505 | 服务器错误 |
每个范围具体的状态码对应的情况;
以上是各个阶段的状态码对应的具体情况。起始行之后是首部,包括通用首部,请求首部,相应首部。也有很多很多内容和分类,就不写了。。。