http协议基础 4. http请求报文格式

1.http请求报文的格式

请求报文的起始行包括 :请求方法 (Get Post Head等八种请求方式) + 请求URL (此处为URL定位到请求的地方)  + 请求的协议 图中为http1.0

请求头也就是图中首部包括:头部字段名 :头部字段名的值   (之前遇到过一个跨域访问接口的问题,也是在响应的报文头部加上字段之后可以实现跨域访问,之后我会整理一篇来阐述)

比如常见的:

    Accept:表示客户端接受的内容类型,按照先后顺序表示客户端接收数据的先后次序

    X-Requested-With:以x开头的是非http标准,一般是某种技术的出现而定义的;这里是用来判断是http请求还是ajax请求。

    Referer:从这个页面访问请求行里的url

    Accept-Language:客户端接受内容返回优先选择的语言

    Accept-Encoding:客户端可以接受的服务器对返回内容进行编码压缩的格式。

    User-Agent:客户端运行的浏览器类型信息。

    Host:头域指定请求的服务器的地址和端口,HTTP/1.1必须包括Host,否则返回400

    Connection:表示是否需要持久连接

    Cookie:http请求时,会把保存的cookie也发送服务器。cookie是保存在客户端里的,分为内存cookie和硬盘cookie。前者随着浏览器关闭而消失,后者由过期时间或者用户手动清除。因为http请求是无状态的,所以服务器为了认证,会生成sessionid,让浏览器setcookie保存起来,每次请求携带上认证信息(关于cookie和session这个是面试官常问的,这个之后有时间得总结一下,简单的来说就是在服务器端和客户端存放的区别。)

请求数据包括: 就是请求发送的数据。

2.Http响应报文的格式

响应报文的起始行包括:状态行。也就是请求返回的状态,下一篇会讲到各种响应返回状态的整理(从1xx到5xx,包括常见的404,500的原因方便查找)

响应报文的首部包括:也是消息报头,包括返回的消息的一些属性内容等。比如

    Server:包含处理请求的服务器信息,包含多个产品注释和标识。

    Cache-Control:告知缓存机制是否可以缓存和类型,private是只能当前用户,不能被共享。

    Expires:响应过期时间

    X-Application-Context:application配置,这里表示读取的是application-prod.properties

    Content-Type:返回数据的类型和字符编码格式

    Transfer-Encoding:告知接收端,报文采取了何种编码,chunked表示服务器无法确定消息大小,一般比如下载等,就采用chunked。

    Date:返回消息的时间

响应报文的主题:返回的就是我们请求的数据等消息。

你得先看重你自己,否则别人就会当你一钱不值。
原文地址:https://www.cnblogs.com/ajiffuu/p/10496421.html