💡 หลาย ๆ คนคงจะรู้จัก URL กันอยู่แล้ว แต่รู้หรือไม่ว่า..มีอีกคำหนึ่งในวงการอินเทอร์เน็ตที่สำคัญเช่นกัน นั่นคือ URI นั่นเอง
.
และวันนี้แอดจะมาสรุปให้ว่า URI นั้นคืออะไร และแตกต่างกับ URL ยังไง ?? ไปดูกันเลยยย !!
.
⭐ URI (Uniform Resource Identifier) คือ ข้อมูลที่ใช้ระบุตัวตนของทรัพยากรต่าง ๆ เช่น Data, Image, File, Service, และ Website
.
⚙️ ส่วนประกอบของ URI
scheme:[//authority]path[?query][#fragment]
.
🔹 Scheme Component : เป็นรูปแบบของ URI เช่น HTTP, HTTPS, Mailto, File, และ FTP ซึ่งต้องขึ้นทะเบียนกับ IANA (Internet Assigned Numbers Authority) ก่อนนั่นเอง
.
🔹 Authority component : เป็นส่วนย่อยของ Userinfo (ชื่อผู้ใช้และรหัสผ่าน), ชื่อ Host หรือชื่อ Port
.
🔹 Path : เส้นทางของ URI
.
🔹 Query component : ประกอบด้วย String และคำสั่งที่ใช้ Query ข้อมูล
.
🔹 Fragment component : ตัวกำหนดทิศทางไปยังทรัพยากรต่าง ๆ
.
✨ ประโยชน์ของ URI
- ใช้ค้นหาชื่อและตำแหน่งของทรัพยากร
- แยกความแตกต่างของทรัพยากรจากชื่อหรือตำแหน่ง
- เตรียมการเข้าถึงทรัพยากรในรูปแบบต่าง ๆ
.
📑 ตัวอย่างของ URI
urn:isbn:0-486-27557-4
.
⭐ URL (Uniform Resource Locator) คือ ที่อยู่ของโปรโตคอลเพื่อดึงทรัพยากรในเครือข่ายคอมพิวเตอร์ และเจ้า URL เป็นส่วนหนึ่งของ URI นั่นเอง
.
⚙️ ส่วนประกอบของ URL
http://www.domainname.com/folder-name/web page-file-name.htm
.
🔹 Protocol : เป็นส่วนแรกของ URL ในตัวอย่างคือ Hypertext Transfer Protocol (HTTP)
.
🔹 www.domainname.com : เป็นชื่อโดเมนของ URL เรียกอีกอย่างว่า Server ID หรือ Host
.
🔹 folder-name : ชื่อของโฟลเดอร์ที่เก็บไฟล์โปรแกรม
.
🔹 web page-file-name.htm : ชื่อไฟล์ที่เก็บโปรแกรมหรือส่วนประกอบต่าง ๆ ที่แสดงบนหน้าเว็บ อาจจะมีหรือไม่มีนามสกุลก็ได้
.
✨ ประโยชน์ของ URL
ใช้เปลี่ยนเส้นทางของเว็บไซต์ได้ในคลิกเดียว
ใช้เข้าถึงทรัพยากรบนเว็บไซต์
รับ-ส่ง Request กับ Web Application
.
📑 ตัวอย่างของ URL
https://google.com
.
💥 Source : https://www.guru99.com/url-vs-uri-difference.html
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「request query string」的推薦目錄:
- 關於request query string 在 BorntoDev Facebook 的最佳解答
- 關於request query string 在 純靠北工程師 Facebook 的最佳解答
- 關於request query string 在 Kewang 的資訊進化論 Facebook 的最佳解答
- 關於request query string 在 コバにゃんチャンネル Youtube 的最佳解答
- 關於request query string 在 大象中醫 Youtube 的精選貼文
- 關於request query string 在 大象中醫 Youtube 的最讚貼文
- 關於request query string 在 how does Request.QueryString work? - Stack Overflow 的評價
- 關於request query string 在 JavaScript 取得Url 的Query String | ShunNien's Blog 的評價
- 關於request query string 在 Query Strings and Parameters explained - Marketers Tech ... 的評價
- 關於request query string 在 Using query parameters to create a pull request - GitHub Docs 的評價
- 關於request query string 在 How To Get Query String Parameters in JavaScript 的評價
request query string 在 純靠北工程師 Facebook 的最佳解答
#純靠北工程師4y1
----------
看不懂RESTful api跟不會發https request哪個比較嚴重呢?
剛好遇到公司的主管級兩種都符合
正式環境的RESTful api還要求你給他80 port的接口
原因是他不會發https request
然後質疑驗證不夠嚴謹 哈
再你用走http的時候 封包早就明文被看光光好了嗎?拜託
求求 你google 一下好嗎?
好不容易教會他看懂 post
然後出現了 get 的query string就看不懂了 我還以為工程師的基本是要願意去看文件
----------
💖 純靠北官方 Discord 歡迎在這找到你的同溫層!
👉 https://discord.gg/tPhnrs2
----------
💖 全平台留言、文章詳細內容
👉 https://init.engineer/cards/show/6409
request query string 在 Kewang 的資訊進化論 Facebook 的最佳解答
這一系列文總共有三篇,這是最後一篇。
Funliday 重磅推出新的 prerender 套件 pppr!這是一個 zero config 的 express middleware,只要 npm install pppr,然後在 app.js 裡面加一行 app.use(pppr()) 就可以直接拿來用了。
---
原本在使用 prerender.io 這個套件有時候會出現 504 timeout 的問題,後來發現這個套件用的是比較底層的 API (Chrome DevTools Protocol, CDP),研究它的原始碼後發現 render HTML 的 timeout 判斷上有些怪怪的,本來想試著去改這塊,但對 CDP 不熟,所以用 puppeteer 重寫一套 prerender service,pppr 也就應運而生。
簡單先解釋一下,puppeteer 是基於 CDP 封裝後成為比較容易使用的 API。因為 client side rendering (CSR) 的流行,所以現在要做網路爬蟲的話,愈來愈多會選擇用 puppeteer 來處理。這裡來分享一下在開發 pppr 的時候,有哪些東西要注意的。
1. 把 URL 放到像是 50 人的 LINE 熱門群組,prerender 會遭到大量的 request,因為每個使用者接收到這個訊息之後,因為要顯示 og data,所以就會去打一次 prerender。這裡姑且先稱之為 OG-DDoS 好了 XD,所以一定要做 cache,讓第一個 request 把 HTML 產生出來之後就放到 cache 裡面。然後可以用 LRU cache 來處理,因為這類 URL 都是短時間會被大量使用,之後就很少被用了,用 LRU cache 剛剛好。
1-1. 其實這一段實作還有一些問題,如果在第一個 request 還沒產生出 HTML 之前,第二個同樣 request 就進來了,這樣子 cache 可以說是根本沒作用,還要再找時間來處理 lock 機制才行。
2. 每一個 request 要新開一個 page 才行,如果沒有每個 request 都開新 page 的話,會造成 A request 還沒處理完,B request 就用同一個 page 做 render,這樣子 A request 就會 504 timeout 了。所以一定要記得每個 request 都要新開 page。
3. 因為 headless chrome 的 user agent 就叫做 HeadlessChrome,為了避免在 render 的時候會出現意料外的狀況,保險一點還是把 HeadlessChrome 改成 Chrome 會比較好。
4. 注意 redirect。因為 expressjs 跟 puppeter 是兩個不同的 context,對於 redirection 來說,expressjs 會回傳 3xx 系列的狀態碼,但 puppeteer 則會直接執行完成。所以把 puppeteer 放在 expressjs 裡面執行的話,必須要處理 redirect chain,讓 expressjs 能回給 client 正確的狀態碼才行。
5. pppr 因為是發想自 prerender.io,所以 interface 也一樣是 /render?url=https://example.com。 但有時候原始的 url 後面會包含 query string,所以 expressjs 要用 URLSearchParams 另外做些處理,才能取得完整的 url。
開發 pppr 基本要注意的事項大概就這樣,總之記得給星,有任何問題歡迎發 issue 跟 pr 喔!
#pppr #prerender #funliday
request query string 在 コバにゃんチャンネル Youtube 的最佳解答
request query string 在 大象中醫 Youtube 的精選貼文
request query string 在 大象中醫 Youtube 的最讚貼文
request query string 在 JavaScript 取得Url 的Query String | ShunNien's Blog 的推薦與評價
因為維護某個系統需要,需要使用Query String 來進行頁面切換,取得Query String 的方式有很多,例如:自行撰寫,或是透過API 等…以下列出這些方式。 ... <看更多>
request query string 在 how does Request.QueryString work? - Stack Overflow 的推薦與評價
... <看更多>
相關內容