关于本文
一. 用于记录自己的学习成果
二. 结识一些志同道合的人
以下仅做个人笔记之用
HTTP 的定义
http是⼀种⽹络传输协议,位于 TCP / IP 协议族的最顶层——应⽤层
HTTP
Hypertext Transfer Protocol,超⽂本传输协议,⽤于在⽹络上请求和传输 HTML 内容。
超⽂本(扩展型⽂本),是 HTML 中可以有链向别的⽂本的链接(hyperlink)。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>title</title>
</head>
<body>
<h1>this is a title !</h1>
<p>this is a paragraph !</p>
</body>
</html>

HTTP 的⼯作⽅式
通过浏览器和手机App
URL和HTTP报文
URL格式
协议类型://服务器地址[:端⼝号]路径
报文格式
-
请求报文

-
响应报文

Request Method 请求⽅法
-
GET
用来获取资源,不修改服务器数据,无body -
POST
增加或修改资源,发送给服务器的内容写在body里面 -
PUT
修改资源,发送给服务器的内容写在body里面 -
DELETE
删除资源,无body -
HEAD
同GET, 但返回的响应中没有body
Status Code 状态码
对响应结果做出类型化描述
- 1xx:临时性消息
- 2xx:成功
- 3xx:重定向
- 4xx:客户端错误
- 5xx:服务器错误
Header
HTTP消息的metadata
Host
目标主机( 在目标服务器上定位子服务器的 )
Content-Type
指定body的类型
-
text/html
请求web页面是返回响应的类型,body中返回html文本
-
x-www-form-urlencoded
纯文本表单提交方式
-
multitype/form-data
二进制文件提交方式
-
application/json , image/jpeg , application/zip ...
单项内容(文本/非文本),用于 web api 的响应或 put / post 请求
Content-Length
指定body的长度
Transfer: chunked(分块传输编码 Chunked Transfer Encoding)
⽤于当响应发起时,内容⻓度还没能确定的情况下。和 Content-Length 不同时使⽤。⽤途是尽早给 出响应,减少⽤户等待。
Location
指定重定向的目标URL
User-Agent
用户代理,实际发送请求、接受响应的(手机浏览器,手机App)
Range/Accept-Range
按范围取数据
作用:断点续传,多线程下载
其他Headers
- Accept: 客户端能接受的数据类型
- Accept-Charset:客户端接受的字符集
- Accept-Encoding:客户端接受的压缩编码类型
- Content-Encoding:压缩类型
Cache
作用: 在客户端或中间网络节点缓存数据,降低从服务器取数据的频率,提高网络性能
REST
REST是一个标准,一种规范,遵循REST风格可以使开发的接口通用,便于调用者理解接口的作用。 REST HTTP 即正确使用HTTP:
- 使用资源的格式来定义URL
- 规范的使用method来定义网络请求操作
- 规范的使用status code 来表示响应状态
- 其他符合HTTP规范的设计准则