zoukankan      html  css  js  c++  java
  • HTTP简介

    1.HTTP的产生:为什么会有HTTP这个东西?

    浏览器的版本是有很多的,服务器的版本也是有很多的,如何实现不同版本的浏览器和不同版本的服务器之间的数据交互呢?即使是发送相同的数据,但是不同浏览器底层代码的不同也会导致数据传输的差异性。
    解决:规范浏览器和服务器的数据交互的格式。
    实现:HTTP 协议
    2.HTTP的概念
    超文本传输协议(Hyper Text Transfer Protocol)

    作用:规范浏览器和服务器交互的格式
    3.HTTP特点:
    0.简单快速
    1.无连接(客户端一次请求并且服务器给出相应响应之后断开连接)
    HTTP1.1之后支持可持续连接
    2.无状态
    不保存之前处理事务的状态(与数字电路的触发器相反)
    好处:如果之后的响应不需要之前的状态那么响应速度快
    坏处:需要之前的状态,处理速度慢(重新传送之前的数据)
    3.支持C/S和B/S

    4.HTTP交互流程:
    1.建立连接(服务器课客户端)
    2.客户端发送请求
    3.服务器接收请求并处理,将处理结果发送到客户端
    4.关闭连接(http1.1以及以后不会立刻断开连接)

    5.HTTP请求格式

     HTTP请求是指 : 客户端通过发送 HTTP 请求向服务器请求对资源的访问。 它向服务器传递了一个数据块,也就是请求信息,HTTP 请求由四部分组成:请求行、空行、请求头和请求正文

    请求行:请求方法 URI 协议/版本

    请求头(Request Header)

    请求正文

    下面是一个HTTP请求的数据:

    POST /index.html HTTP/1.1   请求方法 url 协议/版本号
    Host: localhost  主机地址
    User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: zh-cn,zh;q=0.5
    Accept-Encoding: gzip, deflate
    Connection: keep-alive
    Referer: <a target=_blank href="http://localhost/" style="color: rgb(51, 102, 153); text-decoration: none;">http://localhost/</a>
    Content-Length:25
    Content-Type:application/x-www-form-urlencoded
    请求空行 标志着请求头结束,请求正文(请求体)的开始
    username=aa&password=1234

    HTTP1.1新增了五种请求方法:OPTIONS,PUT,DELETE,TRACE和CONNECT方法。
    GET请求方式:
    请求数据会以?的形式隔开拼接在请求头中,不安全,没有请求实体部分。
    例如:在百度搜索Java

    如果输入账号和密码用这种请求方式hi很不安全。并且因为显示框的大小有限,所以一般GET请求不能携带大量的数据

    POST请求方式:

    请求数据在请求实体中进行发送,在URL中看不到具体的请求数据,安全。适合数据量大的数据发送
     
    6.HTTP响应格式:
    在接收和解释请求消息后,服务器会返回一个 HTTP 响应消息。与 HTTP 请求类似,HTTP 响应也是由四个部分组成,分别是:状态行、空行、消息报头和响应正文。
    响应行(状态行):HTTP版本、状态码、状态消息
    响应头:消息报头,客户端使用的附加信息
    空行:响应头和响应实体之间的,必须的。 响应实体:正文,服务器返回给浏览器的信息
    响应实体:正文,服务器返回给浏览器的信息
     
    如下是一个响应实例:

    HTTP常见响应状态码含义:

    7.Web交互基本概念:

    客户端根据用户输入的地址信息请求服务器,服务器在接收到用户的请求后进行处理,然后将处理结果响应给客户端,客户端将响应结果展示给用户。
    请求:客户端根据用户地址信息将数据发送给服务器的过程
    响应:服务器将请求的处理结果发送给浏览器的过程
    不一样的烟火
  • 相关阅读:
    配置腾讯云服务器
    django1.11文档 模型重点笔记
    pycahrm git配置笔记
    git 命令汇总
    python2, 3环境变量配置(win10下)
    git bash 学习2 --更改url 重置密钥 Permission denied (publickey)问题
    我有一个 APP 创意,如何将其实现?
    iOS转场动画初探
    瀑布流的简单实现
    Masonry练习
  • 原文地址:https://www.cnblogs.com/cstdio1/p/11643060.html
Copyright © 2011-2022 走看看