HTTP协议讲解
请求报文:客户端->服务器
响应报文:服务器->客户端
http请求报文主要由请求行、请求头部、空一行、请求正文部分组成
请求报文
请求行
- Method请求方式,GET,POST,必须大写
- Request-URL统一资源标识符(URI),不含主机部分
- HTTP-Version请求HTTP协议版本。HTTP/1.0短链接,HTTP/1.1长连接。
请求方法
请求方法 | 备注 |
---|---|
Get | 请求资源 |
Post | 提交资源 |
Head | 获取响应头 |
PUT | 替换资源 |
DELETE | 删除资源 |
OPTIONS | 允许客户端查看服务器端的性能 |
TRACE | 用于检测或诊断 |
URL
URL(Uniform Resource Locator)统一资源定位
schema://host[:port#]/path…/[?query-string]
- schema:指定底层使用的协议(例如:http,https,ftp等等)
- host:HTTP服务器的IP地址或者域名(本机就是localhost或者127.0.0.1)
- port#:HTTP服务器的默认端口是80,这种情况下端口号可以省略,如果使用了别的端口,必须指明,例如http://www.cnblog.com:8080/
- path:访问资源的路径
- query-string:发送给Web服务器的数据
如:https://editor.csdn.net/md?articleId=104672425
请求头部
报头名称 | 含义 |
---|---|
User-Agent | 用户代理。允许客户端将它的操作系统,浏览器和其他属性告诉服务器 |
Host | 指定被请求资源的主机和端口号,通常从HTTP URL中提取出来 |
Accept | 指定客户端接受哪些类型的信息。如image/gif, text/html ,/(所有类型) |
Accept-Language | 客户端可以接受的语言类型 |
Accept-Encoding | 指定可接受的内容压缩编码类型 |
Accept-Charset | 指定客户端接受的字符集 |
Accept-Encoding | 指定可接受的内容压缩编码类型 |
Accept-Charset | 指定客户端接受的字符集 |
Cookie | 写到服务器端的COOKIE数据 |
Connection | 连接类型 |
Cache-Control | 控制缓存 |
Referer | 可以记录访问的来源,统计访问量。 |
重点:cookie
请求正文
发送一些列入用户登陆信息
参数
响应报文
由状态行,消息报头,空一行,响应体组成
状态码
状态码 | 含义 |
---|---|
200 | OK.请求成功 |
302 | Moved Temporarily 请求的资源临时从不同URL响应请求,临时跳转 |
304 | Not Modified文档的内容没有改变 |
400 | Bad Request语义有错,当前请求无法被服务器理解 |
401 | Unauthorized当前请求需要用户验证 |
403 | Forbidden服务器收到请求,但拒绝提供此服务 |
404 | Not Found请求资源不存在 |
408 | Request Timeout请求超时 |
500 | Internal Server Error 服务器发生不可预见错误 |
503 | Server Unavailable服务器当前不能处理客户端的请求, 一段时间后可能回复正常 |
消息报头
一个HTTP响应代表服务器给浏览器回送的数据,同时告诉浏览器应当怎样处理数据
响应报头 | 含义 |
---|---|
Date | 告诉浏览器,请求页面的时间 |
Server | 服务器软件信息 |
Content-Length | 回送数据的字节数 |
Content-Type | 回送内容的类型 |
Expires | 表示存在时间,允许客户端在这个给时间之前不检查(发请求)缓存时间 |
Cache-Control | 缓存控制 |
X-Powered-By | 版权信息(程序支持) |
Keep-Alive | 连接类型 |
Location | 响应报头域用于重定向到一个新的位置 |
Refresh | 页面刷新时间 |
Last-modified | 指定服务器上保存内容的最后修订时间 |
set-cookie | 设置cookie |
参考链接
https://blog.csdn.net/MPF1230/article/details/104106113
https://blog.csdn.net/wait_nothing_alone/article/details/79331453