HTTP协议

http简介:
HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。
HTTP是基于TCP/IP协议的应用层协议在客户端和服务器之间传递数据(eg.HTML文件,图片文件等),默认端口80。
http特点:
简单快速:只发送请求方法和请求路径
灵活:可传输任意类型的数据对象,可以用Content-Type标记传输类型
无连接:限制每次连接只处理一个请求,可节省传输时间
无状态:对事物处理没有记忆能力,缺点就是如果后续需要处理前面的信息,则必须重传,会导致传送数据量变大
URI和URL的区别
URI--Universal Resource Identifier:
统一资源标识符。
一般由三部分组成:
①访问资源的命名机制
②存放资源的主机名
③资源自身的名称,由路径表示,着重强调于资源。
URL--Uniform Resource Location:
统一资源定位器。
一般由三部分组成:
①协议(或称为服务方式)
②存有该资源的主机IP地址(有时也包括端口号)
③主机资源的具体地址。如目录和文件名等
URN--Universal Resource Name:
统一资源名称。
http请求方法:
get、post、head、(以下是1.1新增方法)options、put、delete、trace、connect
http状态码:
1**:指示信息。表示请求已接收,继续处理
2**:成功。表示请求已被成功接收
3**:重定向。表示需要进一步操作才能完成请求
4**:客户端错误。请求语法有误或者无法完成请求
5**:服务端错误。服务器在处理请求时出现错误
常见状态码:
200:请求成功。
400:请求语法错误
404:服务找不到请求的网页
405:请求方法被禁用
500:服务器内部错误,无法完成请求
503:服务暂时不可用
下面呢,则是楼主想表现的重点——消息头的各种参数。
例图:
General Headers:
Request URL:请求路径
Request Method:请求方法。GET or POST
Status Code:状态码。
Remote Address:请求的远程地址。
Referrer Policy:浏览器如何发送Referrer
Response Hesders:
Accept-Ranges:表明服务端接收的数据单位,如:Accept-Ranges: bytes
Cache-Control:客户端缓存响应数据的方式。时间为秒
常见的有:
Cache-Control: no-cache
Cache-Control: private:不希望被缓存
Cache-Control: public:可以被缓存
Connection:客户端与服务器端是否长时间保持连接。
常见的有:
Connection: close
Connection: keep-alive
Content-Encoding:服务器告诉浏览器数据压缩格式。
常见的有:
gzip,compress,deflate
Content-Length:服务器告诉浏览器回送数据长度。
Content-Type:服务器告诉浏览器回送数据类型,可加编码格式,用 ; 分隔
常见的有:
      • text/plain
      • text/html
      • text/css
      • image/jpeg
      • image/png
      • image/svg+xml
      • audio/mp4
      • video/mp4
      • application/javascript
      • application/pdf
      • application/zip
      • application/atom+xml
Date:设置消息发送的日期和时间
Expires:设置响应体的过期时间
Last-Modified设置请求对象最后一次的修改日期
Keep-Alive:默认为true,长连接
Pragma:no-cache,客户端不缓存结果数据
Server:服务器名字。
Set-Cookie:设置http cookie
Status:设置HTTP响应状态
Strict-Transport-Security:一种HSTS策略通知HTTP客户端缓存HTTPS策略多长时间以及是否应用到子域
Transfer-Encoding:设置传输实体的编码格式,目前支持的格式: chunked, compress, deflate, gzip, identity
Via:一般用在代理网关向应用服务器发送的请求头中,表明该来自客户端的请求经过了网关代理
格式为:"Via: 请求协议版本 网关标识 [其它信息] ",
Vary:通知下级代理如何匹配未来的请求头已让其决定缓存的响应是否可用而不是重新从源主机请求新的
X-Powered-By: 指定支持web应用的技术
X-Ua-Compatible:推荐首选的渲染引擎来展示内容,通常向后兼容,也用于激活IE中内嵌chrome框架插件
Request Headers:
Accept:客户端支持的数据类型。*用于按范围将类型分组,*/*指示可接受全部类型,type/*指示可接受 type类型的所有子类型
Accept-Charset:客户端采用的编码格式
Accept-Encoding:客户端支持的数据压缩格式
Accept-Language:客户端的语言环境
Connection:处理完这次请求后是否继续保持连接
Content-Type:请求的MIME类型(适用于POST和PUT请求)
Content-Length:客户端以POST方法上传数据时数据体部分的内容长度
Cookie:设置服务器使用Set-Cookie发送的http cookie
Date:设置消息发送的日期和时间
Host:访问的主机名
Referer:访问服务器的资源的URL(防盗链)
RequestType:接收数据类型
User-Agent:表明用户所使用的浏览器标识,主要用于统计
 
 
原文地址:https://www.cnblogs.com/JealousGirl/p/httpxieyi.html