首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >http协议详解(一)HTTP协议基础

http协议详解(一)HTTP协议基础

作者头像
十里桃花舞丶
发布2019-02-20 15:53:23
8170
发布2019-02-20 15:53:23
举报
文章被收录于专栏:桥路_大数据桥路_大数据

前言

    最近在看一些http的东西,http比较杂,大致整理了一下,用思维导图的方式呈现了出来。我会分几个板块来介绍http协议,具体的板块也在下面的思维导图中标注出来了,尽量以简洁的方式为大家呈现http的内容。初写博客,文中有些纰漏的地方还请大家指点。

模块概述

HTTP协议基础

基本概念

HTTP:超文本传输协议,本质上是一种通信协议。用来将html从服务端传送到客户端。

特点

简单快速:客户向服务器请求服务时,只需传送请求方法和路径。

无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

Request/Response原理

Request请求头

注:这个是用谷歌浏览器的开发者工具访问百度截获的,访问不同的页面请求头/返回头的内容有些许的不一样。下面介绍的是一些通用的内容。

Request请求头通用的包含以下一些内容:

请求方法/请求文件/协议             GET/960.js/HTTP/1.1

请求地址                                   Host:www.baidu.com

用户信息                                   Useragent:内核、系统、浏览器等信息

可接受返回类型                         Accept:显示可以接收的数据类型

来自页面                                   forward:从哪个页面跳转而来

可接受的编码方式                     Accept-encoding                             

可接受的语言                            Accept-language

是否使用缓存                            if-none-match

最后修改时间                            If-Modifiled-Sine

注:最后两项是http的缓存机制,如果允许使用缓存,并且本地缓存的页面与当前请求的页面的最后修改时间一致,则直接使用本地的缓存文件。

Response返回头

注:chrome浏览器截取的部分头信息,通用部分已经被提取掉了,大家要看详细的返回头信息,可以用专业的抓包工具查看。图片只是单纯作为一个栗子。

协议/状态码                       HTTP/1.1 304

服务器软件信息

生成时间                            Date

文件的最后修改时间           If-Modifiled-sine

ETag                                 #和if-none-match一起使用

缓存过期时间                     Expires

缓存机制

代理连接                            keep-alive

注:代理连接这块,是http1.1的特性,是一个改良。因为http是应用层的协议,基于TCP之上,所以对TCP的优化对HTTP同样管用。Keep-alive就是在一个tcp连接之上允许传输多个http请求,所以当一个tcp连接建立的时候,不会在http请求之后断开,而是保持一段时间。

    本次http为大家简单的介绍了一下直观的部分,剩下的博文比较多,博主会尽快整理上传,大家有兴趣的话可以关注后续的详解。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年02月27日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 模块概述
  • HTTP协议基础
    • 基本概念
      • 特点
        • Request/Response原理
          • Request请求头
          • Response返回头
      相关产品与服务
      云开发 CLI 工具
      云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档