http协议

作者: Beauty_Beast | 来源:发表于2018-11-18 22:32 被阅读10次

    http协议要细分的话可以写成几本书,本文只简单了解1.什么是http协议?2.分析一次http协议的应用过程;

    1.什么是http协议?分层次理解http协议的概念

    字面理解就是一种规范,一种规则,是万维网服务器传输超文本协议到本地浏览器客户端的一种规范 ,是二者约定的一种规则;http协议:HyperText  Transfer  Protocol超文本传输协议;其中涉及到的概念包括URL,请求消息,响应消息;

    (1)URL : UniformResourceLocator, 中文叫统一资源定位符,是互联网上用来标识某一处资源的地址

    例如:https://www.jianshu.com/writer

    (2)请求消息 :请求消息包括请求行,请求头,请求体

    (2.1)请求行包括:请求方式: GET或POST ;网页路径url: 不含域名部分的网页地址,比如:/abc/page1.php?s1=1&s2=xyz;协议版本号: http/1.1

    请求行部分

    (2.1.1)请求状态大概内容:

    状态码大概有以下几种规格:

    1xx:提示信息,表示请求已接受,继续处理

    2xx:成功,表示请求已经成功接受    200:客户端请求成功

    3xx:重定向  304:重定向

    4xx:客户端错误  :400:bad request,请求有语法错误

    5xx:服务器端错误 :500 服务器端错误

    (2.1.2)请求方法

    GET: 请求指定的页面信息,并返回实体主体。

    HEAD :类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头

    POST :向指定资源提交数据进行处理请求(例如提交表单或者上传文件)

    PUT :从客户端向服务器传送的数据取代指定的文档的内容。

    DELETE :请求服务器删除指定的页面

    CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器

    OPTIONS: 允许客户端查看服务器的性能。

    TRACE:回显服务器收到的请求,主要用于测试或诊断。

    (2.2)请求头:大概字段意思

    请求头部分

    如图大概这些字段的意思:

    Host:所请求的主机名:www.jianshu.com

    Accept:浏览器可以接受的内容类型 text/html application/json等

    Accept-encoding:浏览器可以接受的内容压缩方式

    Keep-Alive:tcp链接的保持时间

    User-Agent:请求的代理端信息 :firefox ,ie

    Connection:链接类型

    等等记那么太多也没意思

    (2.3)请求体:请求时发送的数据,服务器需要接受的数据

    请求体:请求时发送的数据,服务器需要接受的数据

    (3)响应消息:响应消息和请求消息大概类似:由状态行,消息头,空行(在浏览器上未能体现出来),响应正文;

    (3.1)响应头:如下

    响应头

    其中,Content-Type:指定了MIME类型的HTML(text/html),编码类型;

    (3.2)响应正文:

    响应正文

    2.分析一次http协议的应用过程;

    在浏览器键入url例如:http://www.jianshu.com/writer 按下回车,发生以下流程:

    (1)浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址;(URL)

    (2)解析出 IP 地址后,根据该 IP 地址和默认端口 ,和服务器建立TCP连接;

    (3)浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文作为 TCP 三次握手的第三个报文的数据发送给服务器;(请求消息)

    (4)服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器;(响应消息)

    (5)释放TCP连接

    (6)浏览器渲染界面,显示响应内容

    本文参考博客:http://www.cnblogs.com/ranyonsue/p/5984001.html

    相关文章

      网友评论

        本文标题:http协议

        本文链接:https://www.haomeiwen.com/subject/lgesfqtx.html