网络协议与响应码

http:超文本(不止文本)传输协议,底层是tcp/ip

        get,post,put,delete

        GET把参数包含在 URL 中, POST 通过 request body 传递参数

        请求都是tcp链接,HTTP规定,当执行GET请求的时候,要给汽车贴上GET的标签(设置method为GET),而且要求把传送的数据放在车顶上(url中)以方便记录。如果是POST请求,就要在车上贴上POST的标签,并把货物放在车厢里。当然,你也可以在GET的时候往车厢内偷偷藏点货物,但是这是很不光彩;也可以在POST的时候在车顶上也放一些数据,让人觉得傻乎乎的。HTTP只是个行为准则,而TCP才是GET和POST怎么实现的基本。

        运输公司。不同的浏览器 (发起http请求)和服务器(接受http请求)就是不同的运输公司。虽然理 论上,你可以在车顶上无限的堆货物(url中无限加参数)。但是运输公司 可不傻,装货和卸货也是有很大成本的,他们会限制单次运输量来控制风 险,数据量太大对浏览器和服务器都是很大负担。业界不成文的规定是, (大多数)浏览器通常都会限制url长度在2K个字节,而(大多数)服务器 最多处理64K大小的url。超过的部分,恕不处理。如果你用GET服务,在 requestbody偷偷藏了数据,不同服务器的处理方式也是不同的,有些服务 器会帮你卸货,读出数据,有些服务器直接忽略,所以,虽然GET可以带 request body,也不能保证一定能被接收到哦。

        GET和 POST 还有一个重大区别,简单的说: GET产生一个 TCP 数据包; POST 产生两个 TCP 数据包。 长的说: 对于GET 方式的请求,浏览器会把 http header data 一并发送出去,服务器
响应 200 (返回数据); 而对于POST ,浏览器先发送 header ,服务器响应 100 continue ,浏览器再 发送data ,服务器响应 200 ok (返回数据)。 也就是说,GET 只需要汽车跑一趟就把货送到了,而 POST 得跑两趟,第一 趟,先去和服务器打个招呼“ 嗨,我等下要送一批货来,你们打开门迎接 我” ,然后再回头把货送过去。 因为POST 需要两步,时间上消耗的要多一点,看起来 GET POST 更有效。
        因此Yahoo 团队有推荐用 GET 替换 POST 来优化网站性能。但这是一个坑!跳
入需谨慎。为什么?
        1. GET与 POST 都有自己的语义,不能随便混用。
        2. 据研究,在网络环境好的情况下,发一次包的时间和发两次包的时间差 别基本可以无视。而在网络环境差的情况下,两次包的TCP 在验证数据包完整性上,有非常大的优点。
        3. 并不是所有浏览器都会在 POST 中发送两次包, Firefox 就只发送一次。

https:就是http的封装,加上了ssl证书验证,安全版

dns:域名服务器,先在浏览器找缓存,操作系统找(要配置,否则不会缓存),本地域名服务器找,上级一层层往上找

tcp/ip:应用层,运输层,网络层,数据链路层,物理层

osi:应用层,表示层,会话层,运输层,网络层,数据链路层,物理层

响应码;

        200成功

        302重定向

        404路径错误/资源不存在

        500服务器内部错误

你可能感兴趣的:(网络协议,网络)