zoukankan      html  css  js  c++  java
  • http之深度剖析

      最近,小编一心扎跟学技术,毫不顾及头发的掉落速度,都快成地中海了,不过也无大碍,谁让咱是一个爱钻技术的男人呢。最近两周老是看到http,那么这个http,有哪些猫腻呢,很多同学都有这种理解,就是对于http,只能意会不能言传,或者只能说出其中一两点,这很一个it从业者甚是很烦啊,所以,小编不才,接下来为大家深度剖析。

    一、http是什么?用来干嘛的?

    http,全称:超文本传输协议,官方定义:http是一个简单的请求-响应协议,也是应用最为广泛的一种网络传输协议。

    作用:用来传输数据的,再详细点讲,是基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)

    二、http消息结构是怎样的?

    HTTP是基于客户端/服务端(C/S)的架构模型,客户端请求消息---------------------》服务器响应消息

    客户端和服务端怎么理解呢?这里给大家讲解通俗一点,好比咱们进百度网站,打开任何一个web浏览器,直接输入http://www.baidu.com  ,咱们把这个发送过去,拿咱们的这个浏览器就好比是客户端。服务端呢,你可以这样理解,就是百度的后台,我们发送请求过去,它那边会有响应,不管响应成不成功都会给咱们返回一个信号,让我们知道是不是请求成功了。

    客户端一般包括以下格式: 请求行 、请求头  、空行、   请求数据   一共四部分,图来说明一切

     服务端也有四部分:状态行、 消息报头 、空行 、响应正文,下面直接上样例:

     记住,各位同学,千万别搞混淆了,客户端和服务端是有区别的,不是一样的,千万别以为这两者的消息结果一样(要不是写这个帖子,我以前还真没发现,各位请您多担待!)

    三、http靠什么请求,有哪些请求方法?

    在以前,一般都是http1.0版本,但是现在大部分都是http1.1版本(最新标准)

    HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法

    HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法

    至于这九种方法,我就不一一介绍了,小编我的水平也是一般般,顶多算个it爱好者,喜欢掰碎一些东西仅此而已,请各位看官谅解,找了资料,直接上一张图

     既然说到这,那我就不得不提一句,很多面试官都会问的一个问题:get与post的区别,这里顺便为大家解释一番

     四、http状态码

    当我们访问一个网站时,我们使用的浏览器会向访问的网站发出请求,然后,该网站所在的服务器会返回一个http状态码的信息头,用来表示响应咱们发过去的请求

    所以,我们要记住常见的http状态码,说不定在我们的工作中偶尔会用的到

    1开头: 信息状态码

    2开头:成功状态码

    3开头:重定向状态码

    4开头:客户端错误状态码

    5开头:服务端错误状态码

    以下仅仅列举出常见的,至于最全的状态码,给大家发链接去查找:https://www.runoob.com/http/http-status-codes.html

    100:    继续             初始的请求已经接受,请客户端继续发送剩余部分

    200:    成功             请求成功,服务器已成功处理了请求

    301:  永久移动        请求的页面已永久跳转到新的url

    400:  错误请求        服务器不理解请求的语法

    403:    禁止             服务器拒绝请求

    404:   未找到           服务器找不到请求的页面

    500:   服务器错误    服务器内部错误,无法完成请求

    502:   错误网关        服务器作为网关或代理出现错误

    504:   网关超时        网关或代理服务器,未及时获取请求

    五、http与https有什么区别呢?

    http:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端的请求与应答的标准(TCP),使浏览器更加高效、使网络传输减少

    https:是以安全为目标的http通道,简单来讲就是http的安全版,即HTTP下加入SSL层,HTTPS的安全基础是 SSL,因此加密的详细内容就需要SSL

    数据加密传输,是HTTP和HTTPS之间的本质性区别

    转载须注明出处,毕竟本着资源共享的心态,谢谢合作!!!

  • 相关阅读:
    POJ 3140 Contestants Division (树dp)
    POJ 3107 Godfather (树重心)
    POJ 1655 Balancing Act (树的重心)
    HDU 3534 Tree (经典树形dp)
    HDU 1561 The more, The Better (树形dp)
    HDU 1011 Starship Troopers (树dp)
    Light oj 1085
    Light oj 1013
    Light oj 1134
    FZU 2224 An exciting GCD problem(GCD种类预处理+树状数组维护)同hdu5869
  • 原文地址:https://www.cnblogs.com/xj-excellent/p/12695240.html
Copyright © 2011-2022 走看看