2020-11-13 网络相关

HTTP协议:超文本传输协议

是一种详细规定了浏览器和万维网(www)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议
HTTP是基于TCP的应用层协议

image.png

Host:指明了该对象所在的主机 Connection:Keep-Alive 首部行用来表明该浏览器告诉服务器使用持续连接 Content-Type: x-www-form-urlencoded 首部行用来表明 HTTP 会将请求参数用 key1=val1&key2=val2 的方 式进行组织,并放到请求实体里面 User-agent:首部行用来指明用户代理,即向服务器发送请求的浏览器类型 Accept-lauguage:首部行表示用户想得到该对象的法语版本(如果服务器中有这样的对象的话),否则, 服务器应发送它的默认版本

一些常见的状态码和对应的短语:
 200 OK:请求成功,信息在返回的响应报文中
 301 Moved Permanently:请求的对象已经被永久转移了,新的 URL 定义在响应报文中的 Location:首 部行中。客户软件将自动获取新的 URL
 400 Bad Request:一个通用差错代码,指示该请求不能被服务器理解
 404 Not Found:被请求的文件不在服务器上
 505 HTTP Version Not Supported:服务器不支持请求报文使用的 HTTP 协议版本 <4 开头的状态码通常是客户端的问题,5 开头的则通常是服务端的问题>
Connection:close 首部行告诉客户,发送完报文后将关闭 TCP 连接。
Date:指的不是对象创建或最后修改的时间,而是服务器从文件系统中检索到该对象,插入到响应报文, 并发送该响应报文的时间。 Server: 首部行指示该报文是由一台 Apache Web 服务器产生的,类似于 HTTP 请求报文里的 User-agent
Content-Length:首部行指示了被发送对象中的字节数 Content-Type:首部行指示了实体体中的对象是 HTML 文本

HTTP的请求方式

GET、POST、PUT、DELETE、HEAD、OPTIONS
1、GET 和 POST 方式的区别
GET 的请求参数一般以?分割拼接到 URL 后面,POST 请求参数在 Body 里面
GET 参数长度限制为 2048 个字符,POST 一般是没限制的
GET 请求由于参数裸露在 URL 中, 是不安全的,POST 请求则是相对安全
之所以说是相对安全,是因为,如果 POST 虽然参数非明文,但如果被抓包,GET 和 POST 一样都是不 安全的。(HTTPS 该用还是得用)
而从语义的角度来看: GET:获取资源是 安全的,幂等的(只读的,纯粹的), 可缓存的 POST:获取资源是 非安全的,非幂等的,不可缓存的

GET 和 POST 本质上就是 TCP 链接,并无差别。但是由于 HTTP 的规定和浏览器/服务器的限制,导致他们 在应用过程中体现出一些不同。 在响应时,GET 产生一个 TCP 数据包;POST 产生两个 TCP 数据包: 对于 GET 方式的请求,浏览器会把 Header 和实体主体一并发送出去,服务器响应 200(返回数据);
而对于 POST,浏览器先发送 Header,服务器响应 100 Continue,浏览器再发送实体主体,服务器响应 200 OK (返回数据)。

2、GET 相对 POST 的优势是什么?
1、最大的优势就是方便。GET 的 URL 可以直接手输,从而 GET 请求中的 URL 可以被存在书签里,或者历 史记录里
2、可以被缓存,大大减轻服务器的负担 所以大多数情况下,还是用 GET 比较好。

1、HTTPS 和 HTTP 的区别 ?
HTTPS 协议 = HTTP 协议 + SSL/TLS 协议 SSL 的全称是 Secure Sockets Layer,即安全套接层协议,是为网络通信提供安全及数据完整性的一种安 全协议。TLS 的全称是 Transport Layer Security,即安全传输层协议。 即 HTTPS 是安全的 HTTP。

对称加密和非对称加密

1、对称加密: 用同一套密钥来进行加密解密。 对称加密通常有 DES,IDEA,3DES 加密算法。
2、非对称加密: 用公钥和私钥来加解密的算法。 公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥), 公钥是密钥对中公开的部分,私钥则是非公开的部分,私钥通常是保存在本地。

用公钥进行加密,就要用私钥进行解密;反之,用私钥加密,就要用公钥进行解密(数字签名)。
由于私钥是保存在本地的,所以非对称加密相对与对称加密是安全的。
但非对称加密比对称加密耗时(100 倍以上),所以通常要结合对称加密来使用。
常见的非对称加密算法有:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)

3、TCP 在创建连接时,为什么需要三次握手而不是两次或四次(三次握手、四次挥手)?
一个简单的例子:
 三次握手: “喂,你听得到吗?” “我听得到呀,你听得到我吗?” “我能听到你,今天 balabala……”
 两次握手: “喂,你听得到吗?” “我听得到呀,你听得到我吗?” “喂,你听得到吗?” “……谁在说话?” “喂,你听得到吗?” “……”
 四次握手: “喂,你听得到吗?” “我听得到呀”“你能听到我吗?” “……不想跟傻逼说话”
之所以不用四次握手的原因很容易理解,就是浪费资源,服务端的 SYN 和 ACK 可以一起发,完全没必要分 开两次

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

推荐阅读更多精彩内容

  • 一、HTTP 协议 HTTP 协议:超文本传输协议是一种详细规定了浏览器和万维网(WWW = World Wide...
    mpyl阅读 457评论 0 2
  • 一.HTTP HTTP是超文本传输协议 1.请求报文的格式 请求行:方法(get、post)、url(请求的地址)...
    蔚尼阅读 656评论 0 2
  • 一、HTTP 协议 HTTP 协议:超文本传输协议 是一种详细规定了浏览器和万维网(WWW = World Wid...
    灰溜溜的小王子阅读 190评论 0 0
  • 注意:本文主讲网络相关面试问题,包括HTTP协议、HTTPS协议与网络安全、TCP/UDP区别、DNS解析。 一、...
    codeTao阅读 172评论 0 1
  • 网络协议 TCP/IP TCP: TCP(Transmission Control Protocol,传输控制协议...
    LarryLeo_9605阅读 613评论 0 1