《网络是怎么样连贯的》读书笔记 - 意识网络根底概念(一)讲讲历史1991年8月6日,在瑞士日内瓦的核子钻研核心(CERN)工作的英国物理学家蒂姆·伯纳斯·李(Tim Berners-Lee),正式提出了World Wide Web,也就是现在咱们十分相熟的www。
www是什么?万维网WWW是World Wide Web的简称,也称为Web、3W等。WWW是基于客户机/服务器形式的信息发现技术和超文本的综合技术。
这里集体比拟好奇咱们天天都在说3w,3w,然而互联网是怎么呈现的的书中并没有解释?
这里查了下网上材料依据集体了解解释一波:
实际上网络最开始苗头呈现在美苏热战的期间美国建设的APRA科研部门,被忽然扯出来的科研部门人心涣散不晓得干嘛,凑合苏联的科研工作也没什么停顿,直到一个叫做罗伯特·泰勒的哥们呈现,他的突破口是发现小型的通信网络不能兼容不同型号的计算机,咱们都晓得技术的高峰就是定规定,毫无疑问他抉择构建一套协定让所有的计算机都能恪守这一套规定干活。
于是他找来了几个牛逼的大佬开始捣鼓,两头巴拉巴拉做了很多事绕了很多弯,目标其实就是为了实现下面说的货色,最终在一次失败的“LOGIN”验证中尽管仅仅传输了“LO”两个字母就断开了,然而这次失败是历史性的提高,因为两个不同的设施实实在在的通信了,最终修复之后实现了这五个字母的失常传输。
随后捯饬出的ARPANET(阿帕网) 这个我的项目,也就是正式的互联网雏形。
课外常识到此结束,当初咱们看看第一章次要看点:
如何解析网址?DNS 服务器如何查问域名对应的 IP 地址?DNS服务器如何接力?浏览器如何将音讯委托给操作系统发送给 Web 服务器?外围是了解DNS的角色位置和作用,以及浏览器如何跟DNS交互实现网址(域名)解析为IP这一个操作的,本章最初的委托流程是整个第二章的重点内容,笔记顺其自然的放到了第二章笔记当中,为了不便了解把笔记归纳到第二局部。
如何解析网址咱们从URL开始,什么是URL,URL是Uniform Resource Locator的简称,业余解释叫做对立资源定位符,除开咱们常见的http、https协定之外,浏览器还能够进行ftp文件上传,下载文件,发送电子邮件,浏览新文化等操作。
咱们把这些行为看作是资源交互,尽管不同的资源交互会存在不同的URL组合,然而不论URL的组合模式如何变动,最终是结尾决定所有,结尾局部决定看待资源形式。
解析网址咱们能够看上面的例子:
碰到省略文件名的状况,通常上面几种:
http://xxxx/dir/示意 /dir/ 之后的内容被省略,这时候通常状况下会设置对应这个目录的实在拜访门路进行补全。对于web中最为经典的http://localhost:8080/拜访门路,通常状况下Web服务器会拜访到/index.html这个文件,如果没有就会返回404的页面。如果只有域名,比方www.baidu.com,那就会间接拜访web服务器设置的根门路对应的资源和相干文件。含混不清的门路比方http://localhost:8080/wishlist,则会依据先判断是否为文件名,而后判断是否为目录的状况解决,或者看作一个申请映射到另一处资源,或者做一次重定向。下面的内容不用深究,只须要明确浏览器的第一步工作就是对 URL 进行解析。
Http申请http申请简略来说能够简略概括为一句话:对什么做了什么样的操作,所谓对什么指的是URL,示意标识了的指标对象,做什么样的操作就是所谓的办法,办法次要是分为两个POST和GET办法,其余办法根本没啥用途,集体只在偶然几个对接文档中遇到过PUT和HEAD办法。
GET办法:通常用于一些可见资源的拜访,或者凋谢资源的拜访,通常状况下不须要过多的限度就能够间接向具体的目录寻找须要的资源。
POST办法:比拟常见的是应用表单或者 AJAX的形式拜访,并且通常会指向一个WEB的应用程序,获取应用程序的数据须要传递服务器须要的一些无效参数,否则服务端会依据具体情况告诉客户端无权拜访。
AJAX即“Asynchronous JavaScript and XML”(非同步的JavaScript与XML技术),指的是一套综合了多项技术的浏览器端网页开发技术。Ajax的概念由杰西·詹姆士·贾瑞特所提出[1]。Http申请音讯
晓得了 对什么做了什么样的操作,当初来看看Http 具体是怎么做这件事件的。
Http申请音讯次要分为上面组织构造:
第一行最结尾的局部提取URL的内容,一成不变解析,开端为HTTP版本号次要标记以后HTTP申请版本。例如:GET /cgi/sample.cgi?Field1=ABCDEFG&SendButton=SEND HTTP/1.1第二行为音讯头,这里列举一些简略的内容:
Data:申请响应生成日期。Pragma:数据是否容许缓存。Transfer-Encoding:音讯主体编码格局(重要)。Via:通过的代理和网关。音讯头前面存在一行 完满没有内容的空行。第四行为音讯体,然而试验用的是GET办法所以通常内容为空。
咱们以拜访谷歌为例,上面的内容拜访谷歌搜寻页面的一次申请参考,这里的内容间接通过谷歌浏览器的F12拷贝,能够看到根本蕴含了申请行,音讯头和音讯行(GET通常没有所以上面没有体现)三种。
惯例1. 申请网址:https://www.google.com/2. 申请办法:GET3. 状态代码:2004. 近程地址:127.0.0.1:78905. 推荐起源网址政策:origin申请标头1. :authority:www.google.com2. :method:GET3. :path:/4. :scheme:https5. accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.96. accept-encoding:gzip, deflate, br7. accept-language:zh,zh-TW;q=0.9,en-US;q=0.8,en;q=0.7,zh-CN;q=0.68. cache-control:no-cache9. cookie:SID=KQi0QVpC_wxTynb6H6HjGmVq-9mYvCuIDOMx9EmEUJ8ii7dJzN_1F-ho69FdK6AN9ekOkA.; __Secure-1PSID=KQi0QVpC_wxTynb6H6HjGmVq-9mYvCuIDOMx9EmEUJ8ii7dJaTdIpqSfRfNb-BvF0haitA.; __Secure-3PSID=KQi0QVpC_wxTynb6H6HjGmVq-9mYvCuIDOMx9EmEUJ8ii7dJ6_WQQeEF09oAZ9MQfe21sA.; HSID=AOdmIhuBCutDeMwVS; APISID=ckyVXTB27QMaC2gQ/AVulr1cMnMbpD0e1x; SSID=AL0-0R0Ofsj3zaqrr; SAPISID=dqpTwJeh7bnii2Ki/AfsaDUfE8uMVR1aqv; __Secure-1PAPISID=dqpTwJeh7bnii2Ki/AfsaDUfE8uMVR1aqv; __Secure-3PAPISID=dqpTwJeh7bnii2Ki/AfsaDUfE8uMVR1aqv; SEARCH_SAMESITE=CgQIvJUB; 1P_JAR=2022-05-24-23; AEC=AakniGOKhznRpAD797X4u508i2XHJjEVYQQHANlqaJC2JSZ1F7mAe-vX_rg; NID=511=K-qt_LW-4ad1IYdJgfPLZjJw772wez2L3_FK9hwrrHAaksdhT8bTqz4icJEnJviOb92zcnyfS4h7P8HB_Is0f_FebYTe_5DR3qFEclHS1R9N1P7r9pv7Z4p12341S72RZRfzIlQ3-CVZUqQKBm1Xy1i9fKwejMGHTPMY2hk02sA--ey8nAEyt1_A7SVMe0RvrEkPnVm88fBnyyyFMMSCeSG1oqYKeC2x7iHJ0GwdbEpeGojpMQyQxAn1jAdxyXbC0oko0rCFjYn7eUREz2A9KA; SIDCC=AJi4QfGQeW0y_3pnzuBs7KI-WabF5XR_-dQchpcoNUN_bRVICBknb39qNQhP4IklnPn6kW4M3d8; __Secure-3PSIDCC=AJi4QfFOaoqiWv0mqmOskkIKVYy_-QNOATkPOyhNt9B8BBTMnRqnv-0zdgVgBNmIJRwlzBS4x6U10. pragma:no-cache11. sec-ch-dpr:212. sec-ch-ua:" Not A;Brand";v="99", "Chromium";v="101", "Google Chrome";v="101"13. sec-ch-ua-arch:"arm"14. sec-ch-ua-bitness:"64"15. sec-ch-ua-full-version:"101.0.4951.64"16. sec-ch-ua-full-version-list:" Not A;Brand";v="99.0.0.0", "Chromium";v="101.0.4951.64", "Google Chrome";v="101.0.4951.64"17. sec-ch-ua-mobile:?018. sec-ch-ua-model:""19. sec-ch-ua-platform:"macOS"20. sec-ch-ua-platform-version:"12.3.1"21. sec-ch-ua-wow64:?022. sec-ch-viewport-width:144023. sec-fetch-dest:document24. sec-fetch-mode:navigate25. sec-fetch-site:same-origin26. sec-fetch-user:?127. upgrade-insecure-requests:128. user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.64 Safari/537.3629. x-client-data:CLG1yQEIkrbJAQijtskBCMS2yQEIqZ3KAQjYjMsBCJShywEI2+/LAQjmhMwBCNupzAEI/qrMAQjDrMwBCKSvzAEYqKnKARirqcoB30. 已解码:message ClientVariations { // Active client experiment variation IDs. repeated int32 variation_id = [3300017, 3300114, 3300131, 3300164, 3313321, 3327576, 3330196, 3340251, 3342950, 3347675, 3347838, 3348035, 3348388]; // Active client experiment variation IDs that trigger server-side behavior. repeated int32 trigger_variation_id = [3314856, 3314859]; }响应内容
...