HTTP协议类

Posted bestchenyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP协议类相关的知识,希望对你有一定的参考价值。

1、HTTP协议的主要特点:

简单快速(统一资源符UII固定)

灵活(头部有数据类型)

无连接(不会保持连接)

无状态(服务端不能区分二次连接者身份)

2、HTTP报文的组成部分

请求报文:请求行 (http方法 页面地址 协议 版本),请求头(key:value),空行(请求头的结束标志),请求体

响应报文:状态行 响应头  空行  响应体

3、HTTP方法

GET :  获取资源

POST:传输资源

HEAD:获得报文头部

PUT:更新资源   DELET:删除资源  (这两个不常用)

4、POST 和GET的区别(说出加粗部分即可)

  GET在浏览器回退是无害的,POST会再次请求

  GET产生的URL地址可以被收藏,POST不会

  GET请求会被浏览器主动缓存,而POST不会,除非手动设置

  GET请求只能进行URL编码,而POST支持多种编码方式

  GET请求参数会被完整保留在浏览器历史记录里,而POST中参数不会

  GET请求在URL中传送的参数是有长度限制的(2kb),而POST没有

  GET对参数的数据类型,GET只接受ASCII字符,而POST没有限制

  GET比POST更不安全,因为参数直接暴露在URL上不能用来传递敏感信息

  GET参数通过URL传递,POST放在Request body中

5、HTTP状态码

1xx:提示信息——表示请求已接受,继续处理

2xx:成功——表示请求已被成功接受

3xx:重定向——要完成请求必须更进一步操作

4xx:客户端错误——请求有语法错误或请求无法实现

5xx:服务端错误——服务器未能实现合法请求

 

常见类型:

  200:ok  客户端请求成功

  206:Parital Content 客户发送了一个带有Range头的GET请求,服务器完成了它

  301:Moved Permanently 所请求的页面已经转移到新的url,永久重定向

  302 Found 所请求的页面已经临时转移至新的url

  304 客户端有缓冲的文档并发出了一个请求,服务器告诉客户,用来缓存的文档还可以继续使用

  400 客户端请求有语法错误,不能被服务器理解

  401 请求未经授权,

  403 对被请求页面的访问被禁止

  404 请求资源不存在

  500 服务器发生不可预期的错误原来缓存的文档可继续使用

  503 请求未完成 服务器临时过载或宕机,一段时间后可能恢复正常

 

6、持久连接

  (1)http协议采用“请求-应答”模式,当使用普通模式,即非keep-alive模式时,每个请求-应答客户和服务器都要新建一个连接,完成之后立即断开连接(http协议是无连接协议)

(2)当使用keep-alive(又称持久连接,连接重用)时,keep-alive功能避免了简历或者重新建立连接

7、管线化

在使用持久连接的情况下,某个连接上消息的传递类似于:

请求1 ->响应1 ->请求2 ->响应2 ->请求3 ->响应3

管线化就是某个连接上的消息变成了类似这样:

  请求1 ->请求2 ->请求3 ->响应1 ->响应2 ->响应3

特点:

  管线化机制通过持久连接完成,仅HTTP1.1支持此技术

  只有GET和HEAD请求可以进行管线化,而POST有所限制

  初次创建连接时,不应启动管线机制,因为服务器不一定支持HTTP1.1协议

 

以上是关于HTTP协议类的主要内容,如果未能解决你的问题,请参考以下文章

HTTP协议类

一二面_HTTP协议类

js面试题-----HTTP协议类

python打造更适合测试的HTTP协议类

HTTP协议响应码

HTTP协议