浏览器生成消息

阅读摘抄笔记,原书《网络是怎样连接的》 chapter1
作者: [日]户根勤
出版社: 人民邮电出版社
原作名: ネットワークはなぜつながるのか 第2版
译者: 周自恒
出版年: 2017-1-1

浏览器生成消息

【浏览器解析网址并生成http消息】

【应用程序不自己控制网络,而是委托操作系统控制网络。】

生成http请求消息

服务器使用HTTP(超文本传输协议)进行信息交流,它有下面三方面的特点:
1.应用层使用HTTP协议
2.HTML文档格式
3.浏览器采用统一资源定位器(URL)来请求资源

URL: uniform trsource locator 同样资源定位符,有时被认为是网址。(访问对象有web服务器或FTP服务器)。url中会包括服务器的域名和要访问的··文件路径名。一般格式:

协议类型:[根据协议类型的不同有不同的写法]
协议类型://【可省略的用户名、密码】+服务器名+表示数据源的文件/目录

浏览器先对url进行解析,从而生成发送给web服务器的请求消息。

http://www.baidu.com/
http://www.baidu.com(没有文件夹,也是访问默认的)

以“/”结尾表示后面本来应该有的文件名被省略了。可以在服务器上事先设置好文件名省略时要访问的默认文件名。(大多数是index.htm或default.htm)。

浏览器的第一部工作就是对url进行解析

http的基本思路

定义了客户端和服务器之间交互的消息内容和步骤。

1.客户端对服务器发送请求消息。【对什么+进行怎样操作】【URI+方法】

【有时有表示附加信息的头信息】

  • URI :/dir1/file.htm 或 /dir1/program.cgi 【各种访问目标】

  • 方法:需要让web服务器完成怎样的工作。eg:读取URI表示的数据、将客户端输入的数据发送给URI表示的程序。

  • 【常见的get(获取URI指定的信息) -获取网页数据

    post(发送表单填写的数据) -指向web服务器中的一个应用程序.cgi 或.php等文件,web服务器返回程序输出的结果

    put(替换URI制订服务器上的文件)

    put和delete 从客户端删除服务器上的文件】

2.收到请求消息后,web服务器会对其中的内容进行解析,通过URI和方法来判断对什么进行怎样的操作。最后把结果存放在响应消息中,响应消息开头的状态码表示操作的执行结果。【eg:404】

生成http请求消息

<form method="GET" action="/cgi/sample.cgi">
    <input type="text" name="field">
</form>

根据协议生成消息体

先显示文字,有图片再请求显示图片(不过会预留空间)。由于每条请求消息中只能写一个URI,实验每次只能获取1个文件。如果需要获取多个文件,必须对每个文件单独发送1条请求。

向DNS服务器查询web服务器的IP地址

浏览器不具备将消息发送到网络中的功能,这一功能需要委托操作系统。需要先查询网址中服务器域名对应的ip地址。

TCP/IP 一些小的子网,通过路由器连接起来组成一个大网络。小子网是由集线器连接起来的几台计算机。集线器、路由器均是对包转发的设备。

  • 在ip地址规则中,网络号和主机号连起来总共是32bit,(4*8),但这两部分具体结构是不固定的。同时包括附加信息子网掩码
10.11.12.13/24 [ip主体/子网掩码]
10.11.12.0/24[主机部分比特为0,代表整个子网]
12.11.12.255/24[主机部分比特为1,代表向整个子网广播]

子网掩码,同样32位,左边均为1,右边为0。子网掩码为1的部分表示网络号,为0的部分表示主机号。eg255.255.255.0【网络号主机号分割线】

域名&ip并用的原因

原因:ip比较难以记忆。but ip地址处理只需要4个字节,非常方便。

所以人使用名称,路由器使用ip地址,DNS满足两方面的映射关系。

DNS IP域名

查询ip地址,只要询问最近的dns服务器即可。客户端要有dns解析器。dns查ip,域名解析。【使用socket库-网络开发的一种标准】

根据域名查询ip地址时,浏览器会使用socket库中的解析器。

解析器根据dns生成询问消息,委托操作系统中的协议栈(or协议驱动)-》网卡-》发送给dns服务器。

向dns服务器发送时,也得知道dns服务器ip地址,不过这个是TCP/ip预先设置好的一个。(在网络设置中,往往可以看到使用的dns服务器地址等)

DNS服务器

dns服务器会从域名与ip地址的对照表中查找相应的记录,并返回ip地址。

域名的层次结构,越靠右层次越高。.sdu.edu.cn

如果附件没有存储(找到根域,再具体到各个上面,比如先找到根域,再去找cn,在cn下面找edu,在edu下面找sdu。

DNS服务器有缓存功能,可以记住查询过的域名,如果要查询的域名和相关信息已经在缓存中,缓存可以减少查询所需的时间。【缓存中的信息具有有效期】

委托协议栈发送消息

need建立管道,两段是socket

1.创建套接字。2.将管道连接到服务器端的套接字是3.收发数据 4.断开管道并删除套接字。

同一台计算机可能有多个套接字,套接字通过描述符区分。

连接需要描述符,ip地址,端口号(识别到具体的套接字)

描述符:应用程序用来识别套接字的机制。

ip和端口号:应用程序用来识别对方套接字的机制。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354