参考: 一、一堆博客 二、http图解(连接奉上,自取 提取码: n6jq
浏览器
HTTP共有九种方法,分别为缓存
GET、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE、PATCH、HEAD服务器
GET 与 POST 较为常见的两种请求。app
比较(随时更新,暂时了解这么多)tcp
GET:是从目标主机请求(获得)指定的资源,请求的参数一般是以键值对的形式在URL中发送到目标主机(数据量很小,参数明文,请求会被浏览器缓存,可保留在浏览记录,一般有长度限制,不要处理敏感数据[帐号,密码以及其余隐私信息]),刷新页面无影响。GET 发送一个tcp数据包,会一次将header和data发送出去。post
POST:目的是向目标主机提交数据(多是表单,或者其余文件,数据量可能会很是大),可能会新建资源,或者修改现有资源,请求的参数一般也是以键值对(列表,字典等形式,一般被保存在请求体body中),数据量没有要求,请求不会被保存,固然也不会被缓存,不能存在历史记录,所以能够处理敏感数据,但刷新页面数据会被重复提交。POST提交的body是URI的从属物。POST请求发送两个TCP数据包,第一个为请求头,若返回100 continue以后,会再次发送data数据url
post的提交的数据都在body中,但数据的格式则能够本身进行肯定。经常使用的数据格式:spa
一、application/x-www-form-urlencoded ,一般来讲,若是不去刻意的设置enctype属性,就会默认是以此格式数据进行提交,此时提交的数据会进行URL转码,也就是说,提交的数据就像get提交的数据形式同样,都是以键值对进行传参,且以“="为键、值对的分隔符,而且在参数之间以“&”符链接。code
二、orm
PUT 和 PATCH 都用于对资源的更新
PUT请求是向目标主机指定的位置上传资源,用于更新服务器内容,但更新的整个页面,但PUT只会对已经存在的资源进行更新
PATCH请求也是用于更新,但其只是部分资源的更新,但在PATCH不存在时候,其会建立一个新的资源
DELETE 请求是删除所指定的URI的位置的资源。
不经常使用,不赘述