HTTP是啥
两种印象:浏览器输入一个网址,客户端发送网络请求的url
HyperText Transfer Protocol 超文本传输协议(最初用于传输html文本)
HTTP工作方式
浏览器输入一串url后,会向一个服务器发送一个请求,然后服务器会返回一个响应信息给浏览器,这就是一个简单交互
1、url会转成一个报文发送给服务器
例如:http://www.xyz.com/users/1
转化成的请求报文格式
GET /users HTTP/1.1 ——请求行
Host:www.xyz.com ——Header
GET:请求方法method
/users:路径path
HTTP/1.1:http的版本
Host:给主机看的域名
Header
作用:http消息的元数据(meta data)
1、Host:域名,服务器主机地址(给dns进行解析查找具体IP地址)
2、Content-Type/Content-Length:Body的类型和长度(content-length可用于服务器与客户端之间断开结束的判断依据)
- content-type内容类型:
text/html:html文本,用于浏览器响应
application/json:json形式,用户web api的响应或者post/put请求
application/x-www-form-urlencoded:普通表单,encoded URL格式
multipart/form-data:多部份形式,一般用于传输包含二进制内容的多项内容
image/jpeg/application/zip...:单文件,用于web api响应或者更post/put请求
3、Location:重定向的目标URL
4、User-Agent:用户代理(客户端类型等等)
5、Range/Accept-Range:指定body类型范围(例如加载图片,可以选择分段加载,与content-length有关,可用于断点续传)