• 写在前面

《图解HTTP》是由上野宣先生著,于均良先生译

闲暇之余!写写博文甚是高兴。如有不准确,望各位斧正。共同学习!


  • 正文 

HTTP协议是什么?能做什么?  

HTTP(超文本传输协议)实现资源(如:文本消息、图片、音频...)从客户端到服务端(或者服务端到客户端)的传输协议。WEB是建立在HTTP协议上实现消息传送达到通信的。

产生HTTP协议的契机

实现跨地域的知识共享、消息更快的互通的迫切需要 。

一次HTTP通信

一次HTTP通信在TCP/IP中的体现

一次HTTP通信在TCP/IP中的执行步骤

1、在客户端输入待请求的服务端域名(如:https://i.cnblogs.com/),那么应用层的DNS服务将会对该域名进行解析,得到对应的IP地址

2、由HTTP协议产生对web服务器的请求报文;然后下发到传输层

3、在传输层由TCP协议把请求数据分割给字节流以方便数据传输,并提供可靠的字节流服务;然后下发给网络层

4、在网络层由IP协议经过链路层的路由把数据包传送到服务端主机

5、服务端的网络层对IP包进行拆解,再把请求报文向上提交到传输层

6、服务端传输层的TCP协议对数据包进行重组以获取完整的请求报文;再向上提交给应用层

7、服务端应用层的HTTP协议对请求进行处理,再响应给客户端

8、客户端得到响应之后进行相应的处理,一次完整的HTTP通信结束

一次HTTP通信在TCP/IP中的数据处理逻辑

补充和说明

  1、DNS服务提供域名到IP地址之间的解析服务

  (域名解析步骤:先获取客户端缓存的域名解析列表。如果解析不到对应的IP地址,则请求远程的域名解析系统实现域名解析服务)

2、TCP采用三次握手策略保证可靠的通信服务  

(传输层的TCP协议为了方便数据在网络传输把HTTP请求报文进行分割,并在各个数据包上打上标记序号和端口号后转发给网络层)

3、IP协议实现把各种数据包传送给服务端

(IP协议对来自于TCP的数据包进行封装,增加通信目的地的MAC地址,再转发给链路层)

4、MAC地址是指网卡所属的固定地址


  • 交流学习

笔者能力有限。如有纰漏,望斧正


2017-10-05

于长沙

读《图解HTTP》有感-(了解web及网络基础)的更多相关文章

  1. 【图解HTTP】第一章 了解web及网络基础

    [图解HTTP]了解Web及网络基础 Web页面是如何呈现的?根据Web浏览器地址栏中指定的URL,Web浏览器从Web服务器端获取文件资源(resource)等信息,从而显示出Web页面. 这种通过 ...

  2. 了解web及网络基础

    了解web及网络基础 以下内容简单的说明了一下TCP/IP协议族中HTTP协议.DNS服务.IP协议的一些概念和关系.笔者只是对知识点进行了总结,仅供参考: ) 转载请注明出处:了解web及网络基础 ...

  3. http基础(1.了解web及网络基础,2.简单的http协议)

    第一章:了解web及网络基础 1.http:超文本传输协议 2.tcp/ip协议族:通常使用的网络是在tcp/ip协议族的基础上运作的,而http属于它内部的一个子集. 3.tcp/ip协议族按层次分 ...

  4. 第一章 了解Web及网络基础

    第一章 了解Web及网络基础 Web建立基础.HTTP如何诞生发展 1.使用HTTP协议访问Web 在浏览器地址栏中输入URL之后过程: 1)DNS 解析:浏览器查询 DNS,获取域名对应的 IP 地 ...

  5. 图解 HTTP 笔记(一)——了解 Web 及网络基础

    本章内容:Web 建立在何种技术之上,HTTP 协议如何诞生并发展? 一.Web 基于 HTTP 通信 Web 使用一种名为 HTTP (HyperText Transfer Protocol,超文本 ...

  6. HTTP图解--了解Web及网络基础

    1.网络基础TCP/IP 通常使用的网络是在TCP/IP协议族的基础上运行的,http属于它内部的一个子集. TCP/IP协议族按层次分别分为:应用层.传输层.网络层和数据链路层.分层的好处在于各司其 ...

  7. http(一)web和网络基础

    深入学习http不为别的,只为补充底层知识,打好根基,深入了解其他技术,擒贼先擒王,学好九阳神功以后,乾坤大挪移,太极剑就容易了,急于求成,就只能变周芷若.走着...... 来源于:图解HTTP 1. ...

  8. 图解HTTP(1)之WEB及网络基础

    HTTP协议访问Web 当你在浏览器地址栏中键入有效URL(统一资源定位符)相应的网页页面就会展示出来,那么它是如何展示出来的, 首先这存在两个概念 ------客户端.服务器端 客户端(client ...

  9. 图解HTTP-1.web和网络基础

    目录 1. 3 项 WWW 构建技术 2. TCP/IP 是互联网相关的各类协议族的总称 协议(protocol) TCP/IP分层管理 TCP/IP通信传输流 封装(encapsulate) 3. ...

随机推荐

  1. HTML5进阶(三)HBuilder实现软件自动升级(优化篇)

    HBuilder实现软件自动升级(优化篇) 前言 受前篇博客<HTML5进阶(二)HBuilder实现软件自动升级>(点击查看详情)的影响,测试过程中发现APP自动更新还是存在问题,第一次 ...

  2. JavaScript进阶(五)js中取小数整数部分函数

    js中取小数整数部分函数 丢弃小数部分,保留整数部分 js:parseInt(7/2) 向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 四舍五入 js: Math.round(7 ...

  3. Linux特殊权限分析(第二版)

    SetUID[权限值=4] 问题:为什么普通用户可以修改自己的密码? ll $(which passwd) 1.SetUID:当一个可执行程序/命令具有SetUID 权限,用户执行这个程序时,将以这个 ...

  4. centos 下安装mysql-5.6.11

    这次是在centos6.4下安装mysql,在安装之前,你要先确定你的linux已经安装了这些包: wget, gcc-c++, ncurses-devel ,cmake, make ,perl 如果 ...

  5. 用jquery+Asp.Net实现省市二级联动

    页面html: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="ddlAjax. ...

  6. 网站开发进阶(十一)如何将一个jsp页面嵌套在另一个页面中

    如何将一个jsp页面嵌套在另一个页面中 这个在做网页中常要用到,有些通用的内容可集中放在一个页面文件中,其它要用到这些内容的页面只需要包含(引用)这个通用文件即可.这样便于维护,如果有很多网页,当通用 ...

  7. 理解 Linux 条件变量

    理解 Linux 条件变量 1 简介 当多个线程之间因为存在某种依赖关系,导致只有当某个条件存在时,才可以执行某个线程,此时条件变量(pthread_cond_t)可以派上用场.比如: 例1: 当系统 ...

  8. Linux常见压缩命令 - gzip,zcat,bzip2,bzcat

    几个常见的压缩文件扩展名 *.Z compress 程序压缩的文件: *.gz gzip 程序压缩的文件: *.bz2 bzip2 程序压缩的文件: *.tar tar 程序打包的数据,并没有压缩过: ...

  9. sqlserver2008中删除了windows用户,导致无法登陆的解决方案

    打开管理工具中的"服务",找到并关闭SQL Server服务.进入命令进入SQL Server 2008的安装目录,找到sqlservr.exe文件,执行命令:sqlservr - ...

  10. C语言可变参实现参数累加返回

    C语言可变参的作用真的是非常大,自从发表了可变参如何实现printf,fprintf,sprintf的文章以来,便有不少博友私信问我实现的机制,我也解释了相关的知识点.今天,我们借着这个机会,再来举一 ...