zoukankan      html  css  js  c++  java
  • 谈谈你对http的理解

    一、先看一张图:

     

    二、要client与sever能沟通

    1.需要一样的规则,遵循一定的规范-----------协议

     好比:不同国家的人,需要一门通用的语言。

    2.谈到协议------http-------为什么要学的是http协议,而不是其他的:因为BS架构中,它是一个标准协议。

    3.http是如何通信的:(4个步骤)

     (1).浏览器,根据IP地址和端口号(主机域名)与服务器,建立连接。

    【好比:A要给B发邮件,A需要知道了B的邮箱地址啊】

    (2)向web服务器发送请求数据包

    【好比:A给B发的邮件的内容】

    (3).web接受请求,并发送相应的响应数据包

    【好比:B收到A的邮件,B做出回应,比如给A回复邮件】

    (4)浏览器收到响应以后,服务器关闭连接

    (注意:每一次访问都是独立的,而且服务器不会记忆上一次是那个客户端请求的。)

    【好比:B回复以后就删除了A发来的邮件,并关闭邮箱】

    4.谈到通信的步骤àURL------发请求------响应请求

    (一)

    (1)URL: UniformResourceLocator(统一资源定位符),网页地址。

     URL的格式:http://host[“:”port][abs_path]   https://host[“:”port][abs_path]

    (2) URI:Uniform Resource Identifier(标识、定位任何资源的字符串)

    (二) 发请求

            请求数据包包括(4部分):请请求行,消息报头,空行,请求内容。

     

    请求行:

    格式: Method Request-URI HTTP-Version (空格分开)

    Method表示请求方法

    Request-URI是一个统一资源标识符

    HTTP-Version表示请求的HTTP协议版本

    (1)   Method请求方法有多种:

    GET:  常用。

    在浏览器的地址栏中输入网址的方式访问网页。

    安全系数低。

    POST:常用于表单的提交,用于登陆注册界面。

    该方法要求被请求服务器接受附在请求后面的数据。

    比如:www.baidu.com/?name=ouyang&age=18[o1] 

    相对安全。

    HEAD: 与GET方法几乎是一样的

    (HEAD请求的回应部分的HTTP头部中包含的信息与通过GET请求所得到的信息是相同的。利用这个方法,不必传输整个资源内容,就可以得到Request-URI所标识的资源的信息。)

                   常用于测试超链接的有效性,是否可以访问,以及最近是否更新。

    (三) 响应请求

    1.在接收和解释请求消息后,服务器返回一个HTTP响应消息

    2.HTTP响应也是由四个部分组成,分别是:状态行、消息报头、空行、响应内容

    状态行格式如下:

    HTTP-Version Status-Code Reason-Phrase CRLF 

    例子:HTTP/1.1  200  OK (CRLF)

    **:

    1xx:指示信息--表示请求已接收,继续处理

    2xx:成功--表示请求已被成功接收、理解、接受 

      200代表 客户端请求成功

    3xx:重定向--要完成请求必须进行更进一步的操作

    4xx:客户端错误--请求有语法错误或请求无法实现

    400 Bad Request  客户端请求有语法错误,不能被服务器所理解

    401 Unauthorized 请求未经授权

    403 Forbidden  服务器收到请求,但是拒绝提供服务

    404 Not Found  请求资源不存在

    5xx:服务器端错误--服务器未能实现合法的请求

    503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常


     [o1]

    第一个参数用“?”

    第一个参数用“&”

  • 相关阅读:
    Apache Spark源码走读之4 -- DStream实时流数据处理
    Apache Spark源码走读之3 -- Task运行期之函数调用关系分析
    Apache Spark源码走读之2 -- Job的提交与运行
    Apache Spark源码走读之1 -- Spark论文阅读笔记
    Spark
    (转)互联网广告综述之点击率特征工程
    Java排序算法之冒泡排序
    java枚举
    第二课、数据的艺术---------------------狄泰软件学院
    第一课、进阶高手的大门--------------------狄泰软件学院
  • 原文地址:https://www.cnblogs.com/1124592765qq/p/5808534.html
Copyright © 2011-2022 走看看