HTTP协议:

HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。HTTP消息头又可分为通用信息头、请求头、响应头、实体头和扩展头类。

浏览器:

浏览器基于客户端(web浏览区)和服务端(web服务器)的计算机模型,两者之间采用超文本传送协议(HTTP)进行通信, HTTP协议的作用原理是括四个步骤:连接,请求,应答,关闭。

步骤1:浏览器连接服务端

步骤2:请求:发送请求消息头和请求的数据体。

2.1浏览器通过socket向服务端发送请求。请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:
GET 路径/文件名 HTTP/1.0 如:GET/myweb/demo.html  HTTP/1.0

2.2浏览器发送的数据还包括请求消息头:请求消息头主要用于客户端在请求消息中向服务端传递附加信息。主要包括:客户端可以接受的数据类型,压缩方法,语言以及发送请求的超链接所属网页的URL地址等信息。

/*

请求消息头

GET/myweb/demo.html  HTTP/1.0:请求行。

Accept:text/html,image/*  用于指定客户端希望接收哪些类型的信息;

Accept-Charset  用于指定客户端接收的字符集;

Accept-Encoding 指定可接收的内容编码,如gzip, deflate,先压缩,提高传输效率;

Accept-Language 用于指定客户端的语言;

Authorization 用于证明客户端有权限访问某个资源;

Host Internet要访问的服务器的主机和端口号,发送请求时必须指定该请求

User-Agent 允许客户端将自己的操作系统、浏览器等信息告诉给服务器,该请求不是必需的。

Range 用于指定返回请求内容的部分内容;

Referer 客户端向服务器发送该请求所属的网页的URL地址;

空格行————————-————————

要加一个空格,用于将请求消息头和请求的数据体。

*/

步骤3:应答:发送应答消息头和数据主体。

Web浏览器提交请求后,通过HTTP协议传送给Web服务器。   发送给客户端应答消息头。

应答消息头:http协议,Location,Server(如阿帕奇,last_modify(上次被修改的),ContentType等。

总结:连接,请求,应答。服务器返回浏览器的信息,没有消息头是因为浏览器在应用层,应用层使用http协议,该协议将消息头给解析了。

只显示用户可以看的信息,我们的软件在传输层。

转载于:https://www.cnblogs.com/heimaprogramer/p/3773143.html

黑马程序员-浏览器原理相关推荐

  1. 《MySQL数据库原理、设计与应用》课后习题及答案 黑马程序员编著

    <MySQL数据库原理.设计与应用>课后习题及答案 黑马程序员编著 答案有文档形式,但是csdn必须要下载,,需要的人就去那里下载吧.<MySQL数据库原理.设计与应用>课后习 ...

  2. 黑马程序员:从零基础到精通的前端学习路线

    黑马程序员:从零基础到精通的前端学习路线 随着互联网的深入发展,前端开发工程师一跃成为市场上非常抢手的人才.很多同学,包括以前做UI的.Java的.或者对于IT完全零基础的同学都想学习前端.下图是网上 ...

  3. [学习笔记]黑马程序员-Hadoop入门视频教程

    文章目录 参考资料 第一章:大数据导论与Linux基础(p1-p17) 1.1 大数据导论 1.1.1 企业数据分析方向 1.1.2 数据分析基本流程步骤 明确分析的目的和思路 数据收集 数据处理 数 ...

  4. 【黑马程序员pink老师前端】JavaScript对象

    java 学习笔记指路 基础知识 Python转java补充知识 Java中常见的名词解释 前端 [黑马程序员pink老师前端]HTML [黑马程序员pink老师前端]JavaScript基础大总结 ...

  5. 跟着黑马程序员pink老师学习的笔记及小破站学习的笔记

    网页 1.网站是指在因特网上根据一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合 2.什么是网页? 网页是网站中的一"页",通常是HTML格式的文件,它要通过浏览器来 ...

  6. 解析python网络爬虫pdf 黑马程序员_正版 解析Python网络爬虫 核心技术 Scrapy框架 分布式爬虫 黑马程序员 Python应用编程丛书 中国铁道出版社...

    商品参数 书名:Python应用编程丛书:解析Python网络爬虫:核心技术.Scrapy框架.分布式爬虫 定价:52.00元 作者:[中国]黑马程序员 出版社:中国铁道出版社 出版日期:2018-0 ...

  7. jQuery学习笔记【黑马程序员】

    文章目录 前言 JQury学习 1.引入JQury 2.jqury简介 3.jQuery入口函数 4.dom对象与jQuery对象 4.1.dom对象 4.2.jQuery对象 4.3.jQuery对 ...

  8. 黑马程序员_java自学学习笔记(八)----网络编程

    黑马程序员_java自学学习笔记(八)----网络编程 android培训. java培训.期待与您交流! 网络编程对于很多的初学者来说,都是很向往的一种编程技能,但是很多的初学者却因为很长一段时间无 ...

  9. Ajax【黑马程序员】

    目录 1.客户端 与 服务器 1.1 服务器:存放和对外提供资源 1.2 客户端:获取和消费资源 ​编辑 2.URL地址 2.1 URL地址的概念(统一资源定位符) 2.2 URL地址的组成部分 ① ...

  10. 黑马程序员---微服务笔记【实用篇】

    微服务技术栈导学 微服务实现流程: 所有要学的技术: 分层次教学: 具体分层: 实用篇---第一天 一.认识微服务 单体架构 将业务所有功能集中在一个项目中开发,打成一个包部署 优点:架构简单.部署成 ...

最新文章

  1. 成功解决AttributeError: ‘Series‘ object has no attribute ‘columns‘
  2. GIt思维导图命令+案例分析
  3. html 按需加载插件,htmlwebpackplugin
  4. php对称算法_php里简单的对称加密算法
  5. c++中介者模式mediator
  6. 基于HT for Web的3D拓扑树的实现
  7. 【转】多线程之有状态对象和无状态对象
  8. keras 分布式_TensorFlow 2.0正式版官宣!深度集成Keras
  9. nutz 自定义sql的使用
  10. endnote无法同步原因_endnote不能同步(endnote retrieving references)的解决方法
  11. 190327每日一句
  12. 明解c语言中级篇微盘,明解C语言:中级篇
  13. jQuery介绍及各版本介绍(适合新手查看)
  14. cdr添加节点快捷键_CorelDRAW常用热键|cdr快捷键大全
  15. 使用pyquery爬取搜狗微信文章
  16. mysql 多条件求和_多条件求和的8种方法【Excel分享】
  17. 如何高效的利用谷歌学术搜索文献
  18. 采集用python还是火车头_我才知道爬虫也可以酱紫--火车采集器
  19. 详解Mysql执行计划explain
  20. python中自然数怎么表示_Python Numpy 自然数填充数组的实现

热门文章

  1. 30天敏捷结果(14):要事第一
  2. 孙鑫VC++讲座笔记(一)
  3. softlockup/hardlockup原理详细介绍
  4. goland gorm分组查询统计_MySQL·查询(一)
  5. NULL指针的奇妙之旅
  6. Linux文件系统(七)---系统调用之open操作(一)
  7. 编程python视频教程_Python高级编程实战系列视频课程
  8. 欧几里得算法、扩展欧几里得算法、求逆元、中国剩余定理、扩展中国剩余定理
  9. leetcode 877 stone game
  10. shell 计算代码运行时间