http相关

着手做当下最难搞的事,是解决焦虑与迷茫最好的良方。

http

https://mp.weixin.qq.com/s/WQpxfwLArltKEjEAdOO2Pw
http1.0,支持get,post,每次请求都要建立连接。
http1.1,添加了put,delete等方法支持,链接复用,加入管道概念,客户端可以同时发多个次请求,但是服务端是串行执行。加入了分块传输,提升了大文件传输效率。
http2.0,不修改http语义,添加spdy协议,提高性能。
二进制编码,提高压缩率,减少数据大小,数据分的快儿更小,每一块都有流标识。服务端可以组装,并发处理请求。服务端可以push。

RESTFUL API
  1. 方法名不带动词 http协议増postdeleteput patch(部分更新) 查get
  2. 路径/v1/dog?id=1
  3. 返回数据用json,statushttp的状态码。
浏览器请求 www.baidu.com 时,背后都干了些啥?

https://mp.weixin.qq.com/s/dVAPIv7toJLv06P8feUOUw
https://mp.weixin.qq.com/s/rqa_YoBkkavJ12GAXZHTYA

  1. dns域名解析出ip,子网掩码做与处理,判断是否是和本机一个内网。
  2. 不是内网,开始拼接数据,按照应用层->传输层->网络层进行分包。
    数据发到路由器,转到对方的路由器。

    应用层 http请求头+首行+请求体
    传输层 tcp头+端口
    网络层 ip数据
    数据链路层 1500字节分包 mac地址
    具体发包还有拥塞控制,流量控制,3次握手建立连接。
  3. 对方机器会层层的拆包,把http协议部分交给tomcat 进行处理(connection(endPoint+process+adpter)-> container(host+path)-> springmvc)
get,post
  • 默认表单的实现,get是把参数拼接到url上,而post是放到请求体里,然后请求体里的数据,后端会根据content_type去解析。
  • postmanidea自带的httpclint就比较灵活,就是参数放哪儿都行和get,post无关。
  • 浏览器限制
    • url不同浏览器会有不同的限制。
    • 一般浏览器post的实现会发2个请求,第一个不发数据返回100后,第二次发数据,所以会比get慢一点。
csrf

https://www.jianshu.com/p/64a413ada155
cross-site request forgery

  • 有些网站get方式去修改数据。这种情况下,如果a用户正在登陆,b发给他一个恶意发礼物连接。只要a用户点击直接就把礼物给发了。
  • post也会有问题 b可以做一个网站,里面写js只要a用户打开页面,还是可以把礼物给发了,所以就有了csrf跨域保护,验证HTTPReferer

识别跨域:
协议+域名(2级也算)+端口

项目里取消跨域限制:

  1. 返回新的CorsFilter
  2. 重写WebMvcConfigurer
  3. 使用注解@CrossOrigin
  4. 前端 jsonp
xss

跨站脚本攻击(Cross Site Scripting)

  • 转码为html实体,这样html实体可以正常显示,但是不会当做js执行。
  • HttpOnly Cookie js不可以获取cookie。
常见http状态码

2XX 说明请求被正常处理了

  • 200 请求正常处理
  • 204 请求正常处理 但是没有返回信息
3XX 资源重定向
  • 304 表明直接用缓存 请求中有上次资源的更新时间 说明缓存有效是最新的资源
  • 301 302 303 307几乎所有的浏览器都会把POST改成GET,并删除请求报文内的主体,之后请求会自动再次发送。
    • 301 永久性重定向 短链跳转长链,会缓存,忽略短链访问
    • 302 临时性重定向 短链跳转长链,会缓存,不会忽略短链访问 redirect方法
    • 303 和302有相同的功能 不够303会指定用get来获取新的资源
    • 307同302
4XX 表明客户端请求错误
  • 400 服务端说你发的什么玩意..报文有错误 服务端理解不了
    requestBody中的参数 java接收对象 没有这个参数
  • 401 说明你这个http需要认证
    Unauthorized错误,在项目里的usm中直接ip+端口访问,提示401.因为有security做了拦截需要在url上加用户名@密码
  • 403 说明你访问的资源 你没有权限
  • 404 说明你访问的资源 没有找到
  • 405 你访问资源 用的方法不对
  • 413 get请求体太大,或者nginx设置的上传文件大小限制了
  • 415 格式不对 要求requestBody 但是传递的param
5XX 表明服务端发生错误

https://segmentfault.com/a/1190000012595322

  • 500 代码出现问题了 抛异常了
  • 502 tomcat没启动 正在启动
  • 503 说明正在 维护 或者超负载了 暂时不能对外服务
    超出nginx最大并发数 vue项目分包js 文件太多 请求太多 报这个错误
  • 504 超时 后端的服务器 负载太高了 配置错了 mysql负载高 内存运行不过来了运行超出了nginx的超时时间

参考:https://blog.csdn.net/u011001084/article/details/79635162

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

推荐阅读更多精彩内容