zoukankan      html  css  js  c++  java
  • 读书笔记2:HTTP协议

    HTTP是什么

    HTTP定义

    HTTP( Hypertext Transfer Protocol, 超文本传输协议) 是在万维网上进行通信时
    所使用 的协议方案。

    HTTP的地位

    了解HTTP协议的地位之前首先简单了解一下网络协议分层。HTTP处于网络协议的应用层协议。

    HTTP协议组成

    报文

    定义

    HTTP报文就是数据交换标准和文本数据的集合。好比物流里的包裹。

    组成
    start line(起始行)

    Request-URL(请求URL):所请求资源,或者URL路径组件的完整URL。

    Method(请求方法):客户端希望服务器对请求资源执行的动作

    Status Code(状态码):这三位数字描述了请求过程中所发生的情况。

    Reson-phrase(原因短语):跟在状态码后面,为人提供对状态的解释

    version(版本):报文所使用的HTTP版本

    header(首部)

     Accept首部

    顾名思义,Accept为客户端提供了将其自己喜好方式和能力传递给服务器端。服务器根据Accept返回对应的信息,避免了服务器传输一些多余的信息。

    Accept:告诉服务器能够发送哪些媒体类型

    Accept-charset:告诉服务器能够发送哪些字符集

    Accept-Encoding:告诉服务器能够发送哪些编码方式

    Accept-Language:告诉服务器可以发送那些语言

    TE:告诉服务器可以使用哪些扩展的传输编码

    通用缓存首部

    Cache-Control:用于随报文传送缓存指示

    pragma:另一种随报文传送指示的方式

    通用首部

    Connetion:允许客户端和服务器端指定与请求

    body(主体)

    HTTP通信

    Connect
    (a)用户URL拨号:输入页面地址,点击超链接,点击提交按钮
    (b) 浏览器从 URL 中解析出服务器的主机名;
    (c) 浏览器通过DNS将服务器的主机名转换成服务器的 IP 地址;
    (d) 浏览器将端口 号(如果有的话) 从 URL 中解析出来;

    (e)浏览器发起到这个IP地址端口 80的连接

    (f)服务器监视端口监听客户端电脑的请求,建立握手
    Request

    客户端建立TCP管道浏览器向服务器发送一条HTTP GET报文

    Response
    浏览器从服务器读取HTTP响应报文
    Close
    浏览器关闭连接

    认识客户端和服务器端

  • 相关阅读:
    MY_HOME
    跨站请求伪造CSRF防护方法
    python中的函数参数
    python 中的闭包
    append追加元素绑定事件无效的解决办法
    webservice练习(cxf,axis,httpclient)
    hibernate5 mysql写入中文乱码
    今天面试中遇到的几个sql查询问题
    Eclipse运行maven项目是出现-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match.这种问题解决办法
    模拟博客园登录java实现
  • 原文地址:https://www.cnblogs.com/sunxi/p/4515223.html
Copyright © 2011-2022 走看看