• HTTP协议


    (1)HTTP版本

     HTTP/1.0:HTTP短连接

     HTTP/1.1:HTTP长连接

     HTTP/2.0:HTTP长连接+优化,支持更多并发连接

    说明:可以使用curl -v www.baidu.com命令查看版本(curl相当于Linux的浏览器)

    (2)HTTP请求方法

    方法

    说明

    支持的HTTP协议版本

    GET

    获取资源(查看)

    1.0、1.1

    POST

    传输实体主体(注册)

    1.0、1.1

    PUT

    传输文件

    1.0、1.1

    HEAD

    获得报文首部

    1.0、1.1

    DELETE

    删除文件

    1.0、1.1

    OPTIONS

    询问支持的方法

    1.1

    TRACE

    追踪路径

    1.1

    CONNECT

    要求用隧道协议连接代理

    1.1

    LINK

    建立和资源之间的联系

    1.0

    UNLINK

    断开连接关系

    1.0

    (3)HTTP状态码

    常见状态码

    状态码

    描述

    200-OK

    请求成功

    301-Moved Permanently

    永久跳转URL

    302-Moved Temporarily

    临时跳转URL

    404-Not Found

    请求的资源(网页等)不存在

    500-Internal Server Error

    内部服务器错误,服务器遇到了意料不到的情况,不能完成客户的请求。

    502-Bad Gateway

    坏的网关

    503-Service Unavailable

    服务不可用

    504-Gateway Timeout

    网关超时

     

    状态码通用说明(下表)

    状态码范围

    描述

    200~299

    表示请求成功

    300~399

    表示已经移动的文件

    200~299

    指出客户端错误

    200~299

    指出服务端错误

    参考网址:https://www.jianshu.com/p/369db1ba04ea

    参考书籍:《老男孩Web集群》P117

    查看状态码的方法:

    1)curl -I www.baidu.com

    2)curl -I -s -w %{http_code}" " -o /dev/null www.baidu.com

     (5)HTTP报文

    1)请求报文

    请求报文格式

     ①请求行:包括请求方法,URL,协议版本等。举例:GET  /index.html  HTTP/1.1(GET表示方法,/index.html是根目录下的首页文件,HTTP/1.1是协议版本)

    查看方法:curl -v www.baidu.com

    ②请求头部

    结构:关键字:值

    常见的请求头部信息包括媒体类型、语言类型(字符集)、是否支持压缩、客户端类型(可用Chrome浏览器测试手机客户端)、主机名等

    ③CRLF:回车换行,仅仅是分隔“请求头部”和“实体主体”两部分

    ④请求主体:包含了要发送给Web服务器的数据信息。Get不用,Post采用(例如:网站注册)

    2)响应报文

    响应报文

    ①状态行:协议版本、状态码等

    ②响应头部

    结构:关键字:值

    常见的响应头部信息包括数据类型、字符集、服务器软件信息等

    ③CRLF

    ④响应主体:返回给客户端的数据,通常是HTML文本

    (6)用户在浏览器中输入网址浏览网站的全过程(网站页面访问流程)

    00. 客户端 浏览器输入网址信息点击回车(www.baidu.com)
    01. 客户端 完成域名的解析(DNS)过程
    02. 客户端 直接访问相应网站服务器,完成TCP三次握手过程
    03. 客户端 访问网站服务器 发送HTTP请求报文 多次
    04. 服务端 响应客户端  回复HTTP响应报文 多次
    05. 客户端 浏览器看到网站页面
    06. 客户端 结束访问网站过程 完成TCP四次挥手过程

  • 相关阅读:
    新东方英语学习方法
    最易遭老板“炒”的15种员工
    如何阅读代码
    Window 消息大全使用详解
    英语学习的六大原则
    单用户多角色权限的MSSQL实现
    .Net中的5种事务总结
    一个.Net程序员关于学习的思考顺带思考人生
    Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表?
    推荐几个win8系统下载比较好的网站
  • 原文地址:https://www.cnblogs.com/zxjcwang/p/14826147.html
Copyright © 2020-2023  润新知