• 了解一下Http常见状态码、Http协议的工作特点和原理、Http请求Post与Get的区别


    HTTP协议常见状态码
    基本涵盖了所有问题
    HTTP 400 – 请求无效
    HTTP 401.1 – 未授权:登录失败
    HTTP 401.2 – 未授权:服务器配置问题导致登录失败
    HTTP 401.3 – ACL 禁止访问资源
    HTTP 401.4 – 未授权:授权被筛选器拒绝
    HTTP 401.5 – 未授权:ISAPI 或 CGI 授权失败

    HTTP 403 – 禁止访问
    HTTP 403 – 对 Internet 服务管理器 的访问仅限于 Localhost
    HTTP 403.1 禁止访问:禁止可执行访问
    HTTP 403.2 – 禁止访问:禁止读访问
    HTTP 403.3 – 禁止访问:禁止写访问
    HTTP 403.4 – 禁止访问:要求 SSL
    HTTP 403.5 – 禁止访问:要求 SSL 128
    HTTP 403.6 – 禁止访问:IP 地址被拒绝
    HTTP 403.7 – 禁止访问:要求客户证书
    HTTP 403.8 – 禁止访问:禁止站点访问
    HTTP 403.9 – 禁止访问:连接的用户过多
    HTTP 403.10 – 禁止访问:配置无效
    HTTP 403.11 – 禁止访问:密码更改
    HTTP 403.12 – 禁止访问:映射器拒绝访问
    HTTP 403.13 – 禁止访问:客户证书已被吊销
    HTTP 403.15 – 禁止访问:客户访问许可过多
    HTTP 403.16 – 禁止访问:客户证书不可信或者无效
    HTTP 403.17 – 禁止访问:客户证书已经到期或者尚未生效 HTTP 404.1 -

    无法找到 Web 站点
    HTTP 404- 无法找到文件
    HTTP 405 – 资源被禁止
    HTTP 406 – 无法接受
    HTTP 407 – 要求代理身份验证
    HTTP 410 – 永远不可用
    HTTP 412 – 先决条件失败
    HTTP 414 – 请求 – URI 太长

    HTTP 500 – 内部服务器错误
    HTTP 500.100 – 内部服务器错误 – ASP 错误
    HTTP 500-11 服务器关闭
    HTTP 500-12 应用程序重新启动
    HTTP 500-13 – 服务器太忙
    HTTP 500-14 – 应用程序无效
    HTTP 500-15 – 不允许请求 global.asa
    Error 501 – 未实现
    HTTP 502 – 网关错误

     

    HTTP协议的工作特点和工作原理
    工作特点:
    基于B/S模式,通信开销小、简单快速、传输成本低,比如打开浏览器就可以访问,使用灵活、可使用超文本传输协议(HTML)、节省传输时间、无状态
    工作原理:
    客户端发送请求给服务器,创建一个TCP连接,指定端口号。默认80,连接到服务器,服务器监听浏览器请求,一旦监听到客户端请求,分析请求后,服务器会向客户端返回状态信息和数据内容
    HTTP协议常见请求/响应头
    Content-Type(请求的实体对应的信息包括字符集)、Accept(指定客户端能接收的内容类型)、Origin(最初的请求来源于哪里,主要用户post请求)、Cookie(代表http请求发起时,发送给服务器端cookie的值)、Cache-Control(指定请求和响应的缓存机制)、User-Agent(用户信息)、Referrer(上级请求路径)、X-Forwarded-For(请求端真实的IP,做代理时可以用它获取)、Access-Control-Allow-Origin(允许特定的域名访问,通常用于跨域)、Last-Modified(请求资源的最后响应时间)

    GET和POST请求的区别

    1:在浏览器端,反复返回上一页在GET请求上是没有什么多大变化的,而POST就会重新提交
    2:GET可以被收藏为书签,而POST不可以被收藏为书签
    3: GET请求可以被浏览器缓存,POST不会
    4:GET在历史记录中会保存参数,而POST不会
    5:数据长度中GET有限制,最大长度取决于浏览器大小,一般2048个字符,POST没限制
    6: GET在允许的数据类型也有差别,GET只允许ASC2这样的字符,POST没限制,也允许二进制数据,GET只允许GB2312
    7:GET的安全性差点,是URL的一部分;POST相对来说安全点儿,不会被保存到服务器WEB日志中
    8:效率上GET比POST快,以下是原因

    ①.post请求包含更多的请求头
      因为post需要在请求的body部分包含数据,所以会多了几个数据描述部分的首部字段(如content-type),这其实是微乎其微的
    ②.post在真正接受数据之前会先将请求头发送给服务器进行确认,然后才真正发送数据
      post请求的过程:
      1.浏览器请求tcp连接(第一次握手)
      2.服务器答应进行tcp连接(第二次握手)
      3.浏览器确认,并发送post请求头(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
      4.服务器返回100 continue响应
      5.浏览器开始发送数据
      6.服务器返回200 ok响应
      get请求的过程
      1.浏览器请求tcp连接(第一次握手)
      2.服务器答应进行tcp连接(第二次握手)
      3.浏览器确认,并发送get请求头和数据(第三次握手,这个报文比较小,所以http会在此时进行第一次数据发送)
      4.服务器返回200 ok响应
      也就是说,目测get的总耗是post的2/3左右
    ③.get会将数据缓存起来,而post不会
    使用ajax采用get方式请求静态数据(比如html页面,图片)的时候,如果两次传输的数据相同,第二次以后耗费的时间将在10ms以内(chrome测试),而post每次耗费的时间都差不多……
      chrome下和firefox下如果检测到get请求的是静态资源,则会缓存,如果是数据,则不缓存,但是IE这个傻X啥都会缓存起来

  • 相关阅读:
    .NET面试题系列[2]
    .NET面试题系列[1]
    被淡忘的c#析构函数
    关于Spring IOC容器解释
    工作随笔记 点击除div自身之外的地方,关闭自己
    js获得控件位置
    PHP如何判断对象为空的方法分享
    PHP 网页调用本地exe程序实例
    PHP jQuery实现上传图片时预览图片的功能实例
    Yii 自带的分页实例
  • 原文地址:https://www.cnblogs.com/wt645631686/p/8191705.html
Copyright © 2020-2023  润新知