http协议内容有两部分
一、 HTTP Header
二、 HTTP Body
千万要注意,不要和HTML搞混了。ajax
Header除了第一行以外,就是一些Key-Value的属性设置
Key: Value浏览器
Body你均可以看作是二进制数据。只是根据Content-Type的不一样作不一样处理。缓存
HTTP请求流程服务器
Request(请求) -> 服务器
Response(响应) <- 服务器tcp
图1.
HTTP METHOD:
1. GET
2. POST
3. PUT 常见于RESTful
4. DELETE 常见于RESTful
5. HEAD
6. OPTION编码
Requesturl
会把queryString(也被称做http parameter) ?key1=value1&key2=value2&key3=value3
接到url后面
优点:
简单。spa
劣势:
一、url长度有限(256个字符)
二、保密性极差(明文)code
会把queryString写到httpBody里面
图2.orm
看见HTTP头和HTTP Body当中有一个空白行分割
全部的数据写在http body中。
优点:
1. 保密性好。
2. 能够传较多数据。(只要指定Content-Length属性)
劣势:
麻烦
Response
HTTP头: 状态码(404 500 200 304) body长度(Content-Length) 缓存控制(给浏览器用) 数据编码 请求的数据 等等。
关于数据的属性,都在Http Header里(是否GZIP压缩,文本编码之类的)。
数据自己就在HttpBody里。
特殊的状况:
Request你也能够往body里面传文件(并且能够是多个文件)。
一、multipart/form-data (Content-Type)
二、boundary的概念