zoukankan      html  css  js  c++  java
  • 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:返回消息的时间

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

    你得先看重你自己,否则别人就会当你一钱不值。
  • 相关阅读:
    1.python的Helloword
    java实现多个属性排序---按照实体的多种属性值进行排序(ComparableComparator/ComparatorChain)
    Spring Boot 2.X(一):入门篇
    Nginx开启Gzip压缩提升页面加载速度
    QQ第三方授权登录OAuth2.0实现(Java)
    Windows下IIS搭建Ftp服务器
    【Java】支付宝获取人脸采集认证的图片base64格式
    【SpingBoot】spring静态工具类注入问题
    【linux】Tomcat 安装
    【linux】jdk安装及环境变量配置
  • 原文地址:https://www.cnblogs.com/ajiffuu/p/10496421.html
Copyright © 2011-2022 走看看