如何设计,容易挨揍的URI???

简介: 好的URI,建议这么弄:RESTful是基本原则,命名要有意义;不要用容易拼错的外语等。

后端工程师,如何无脑设计一些shi一样的URI,来恶心移动/前端工程师呢?

希望本文能给大家一些启示。


方法一:搞一些不知所谓的名称。
例如:
http://api.example.com/68dd0-a9d3-11e0-9f1c style="font-size: 15px;letter-spacing: 1px;">

千万不能搞这种可读性强的:
http://58.com/bj/ershou/310976 style="color: rgb(0, 82, 255);">
画外音:北京/二手频道/帖子ID


方法二:多搞一些外语,最好是容易拼错的那种。
例如:
http://api.exapmle.com/louvre/da-vinci/mona-lisa style="font-size: 15px;letter-spacing: 1px;"> 画外音:卢浮宫/达芬奇/蒙娜丽莎
方法三:多在URI的末尾添加“/”,让别人以为是目录,还有可能帮他们多搞一次301跳转,把性能搞差。
例如:
http://api.canvas.com/shapes/  style="font-size: 15px;letter-spacing: 1px;">
而这样没有歧义的api,是万万不行的:
http://api.canvas.com/shapes style="font-size: 15px;letter-spacing: 1px;">


方法四:多使用“_”而不是“-”提高URI的误读性,尽量让文本查看器中的下划线特效遮蔽“_”

例如:
http://api.example.com/blogs/my_first_post style="font-size: 15px;letter-spacing: 1px;text-decoration: underline;"> 怎么样,配合上下划线特效,是不是特别爽?

而这种比较清爽的,是不推荐的:
http://api.example.com/blogs/my-first-post style="font-size: 15px;letter-spacing: 1px;">


方法五:多使用大写字母,把调用者搞晕,为难调用方。 例如:
http://api.example.com/My-Folder/My-Doc  style="font-size: 15px;letter-spacing: 1px;"> 画外音:RFC 3986中规定URI区分大小写。


学会了吗?注意保护好自己!

玩笑归玩笑,好的URI,建议这么弄:
(1)RESTful是基本原则,
命名要有意义
(2)
不要用容易拼错的外语
(3)URI的
末尾不要添加“/”
(4)
使用“-”而不是“_” ,以提高URI的可读性;
(5)
禁止使用大写

本文转自“架构师之路”公众号,58沈剑提供。

目录
相关文章
|
5月前
|
Java
【思维导图】JAVA网络编程思维升级:URL与URLConnection的逻辑梳理,助你一臂之力!
【思维导图】JAVA网络编程思维升级:URL与URLConnection的逻辑梳理,助你一臂之力!
72 1
|
5月前
|
XML JSON 搜索推荐
【高手过招】JAVA网络编程对决:URL与URLConnection的高级玩法,你敢挑战吗?
【高手过招】JAVA网络编程对决:URL与URLConnection的高级玩法,你敢挑战吗?
108 0
|
3月前
|
搜索推荐 安全 API
|
5月前
|
缓存 网络协议 安全
揭秘浏览器背后的神秘之旅:一网打尽HTTP请求流程,让你网络冲浪更顺畅!
【8月更文挑战第31天】当在浏览器中输入网址并按下回车键时,一系列复杂的HTTP请求流程随即启动。此流程始于DNS解析,将域名转化为IP地址;接着是与服务器的TCP三次握手建立连接。连接建立后,浏览器发送HTTP请求,其中包含请求方法、资源及版本等信息。服务器接收请求并处理后返回HTTP响应,包括状态码、描述及页面内容。浏览器解析响应,若状态码为200则渲染页面,否则显示错误页。整个流程还包括缓存处理和HTTPS加密等步骤,以提升效率和保障安全。理解该流程有助于更高效地利用网络资源。通过抓包工具如Wireshark,我们能更直观地观察和学习这一过程。
97 4
|
5月前
|
架构师 开发者
【悬念揭秘】DDD:那片隐藏在软件深处的业务乐土——.NET项目如何借力领域驱动设计,让复杂业务逻辑迎刃而解?
【8月更文挑战第28天】领域驱动设计(DDD)在.NET项目中的应用聚焦于将业务领域知识与软件开发紧密结合,通过构建清晰的领域模型管理复杂业务逻辑。DDD的核心概念包括限界上下文、聚合、实体等,确保模型与实现的统一。在.NET中,通过CQRS和事件源等模式提高系统响应性和可扩展性,实现业务事件驱动的解耦与协作。DDD不仅是一种设计方法,更是要求开发者深入理解业务的文化,助力.NET项目应对复杂挑战,实现业务与技术的融合。
76 6
|
5月前
|
安全 Java 网络安全
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
57 2
|
5月前
|
移动开发 JavaScript 前端开发
"解锁axios GET请求新姿势!揭秘如何将数组参数华丽变身,让你的HTTP请求在云端翩翩起舞,挑战技术极限!"
【8月更文挑战第20天】二维码在移动应用中无处不在。本文详述了在UniApp H5项目中实现二维码生成与扫描的方法。通过对比插件`uni-app-qrcode`和库`qrcode-generator`生成二维码,以及使用插件和HTML5 API进行扫描,帮助开发者挑选最佳方案。无论是即插即用的插件还是灵活的JavaScript实现,都能满足不同需求。
50 0
|
6月前
|
数据库 SEO
做好网站URL结构优化,让SEO事半功倍
许多网站管理员经常错过URL结构的优化,但拥有一个好的URL不仅可以改善用户访问体验,
78 3
|
7月前
|
人工智能 Java 物联网
【未来趋势】JAVA网络编程的未来:URL与URLConnection的无限可能,你准备好了吗?
【6月更文挑战第21天】JAVA网络编程核心URL和URLConnection驱动智能API调用与实时数据流处理,适应微服务、物联网趋势。通过案例展示,它们在API集成、实时流处理中发挥关键作用,预示着与AI、大数据结合的自动化与高效性。未来,开发者需把握这些技术,共创网络编程新篇章。
60 0
|
8月前
|
缓存 负载均衡 网络协议
【亮剑】一次完整的HTTP请求的重要性和详细过程
【4月更文挑战第30天】本文介绍了HTTP请求的重要性和详细过程。首先,DNS解析将域名转换为IP地址,通过递归和迭代查询找到目标服务器。接着,TCP三次握手建立连接。然后,客户端发送HTTP请求,服务器处理请求并返回响应。最后,理解这个过程有助于优化网站性能,如使用DNS缓存、HTTP/2、Keep-Alive、CDN和负载均衡等实践建议。
395 0