http请求由请求行,请求头,请求体组成
请求行由请求方法、请求url、http协议及版本组成。
请求方法:get、post、head、put、delete、trace、connect、options
get用来请求指定页面的内容,并返回实体主体,post向服务器提交资源数据进行请求处理,post请求可能会导致新的资源的建立或者已有资源的修改,post比get更安全,因为get方法数据存放在请求行里的url末尾,而post方法数据存放在请求体里,get有url的长度限制,post能发送的数据更大,post不会被缓存在服务器日志,post能发送更多的数据类型,get只能发送ASCII码;但是post比get慢;
Head:用于获取报头,类似于get请求,只不过返回的响应中没有具体的内容
Put:从客户端向服务器传送的数据取代指定的文档的内容
Delete:请求服务器删除指定的页面
Trace:回显服务器收到的请求,主要用于测试或诊断
Connect:保留将来使用
OPTIONS:允许客户端查看服务器的性能
请求头
Host:请求的web服务器域名地址,也就是请求被发送的目的地
Accept:指定客户端接受哪些类型的信息
Accept-Language:浏览器说明自己接收的语言
Authorization:证明客户端有权查看某个资源
Cookie:http请求发送时,会把保存在请求域名下的所有cookie值一起发送给web服务器
Content-Type:Body编码方式
application/x-www-form-urlencoded: 默认数据编码方式,表单数据向服务器提交时所采用的编码类型,但是在向服务器发送大量的文本,包含非ASCII字符的文本或二进制数据时,这种编码方式效率很低
application/json:用来告诉服务器消息的主体是序列化后的JSON字符串,使用这个编码方式需要参数本身就是JSON格式的数据,参数会被直接放到请求实体里,不进行任何处理
Multipart/form-data:文件上传时,使用的这种编码方式,可以发送文本数据,也支持二进制数据上传