iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
0
自我挑戰組

學習筆記系列 第 4

HTTP、Get、Post

  • 分享至 

  • xImage
  •  

記錄學習內容。
主要是看網路上的文章和影片,做些紀錄。
大部分內容來自網路上大大的文章

超文本傳輸協定

超文本傳輸協定(HyperText Transfer Protocol, HTTP)
HTTP/1.1協定中定義了八種方法來以不同方式操作指定的資源:

GET :

瀏覽器直接發出的GET只能由一個url觸發。GET上要在url之外帶一些參數就只能依靠url上附帶querystring。

Querystring就像這樣:
https://zh.wikipedia.org/w/api.php?page=Template%3AAdvancedSiteNotices%2Fajax&variant=zh-tw&prop=text&action=parse&format=json&maxage=3600&smaxage=3600

https://ithelp.ithome.com.tw/upload/images/20200902/20111994oq0aCJvsLy.png
https://ithelp.ithome.com.tw/upload/images/20200902/201119942CbslrcnAm.png

POST
例如提交表單或者上傳檔案。

瀏覽器發出的POST請求的body主要有兩種格式,一種是application/x-www-form-urlencoded用來傳輸簡單的資料。
大概就是"key1=value1&key2=value2"這樣的格式。

傳檔案,會採用multipart/form-data格式。是因為application/x-www-form-urlencoded的編碼方式,對於
檔案這種二進位的資料非常低效。

這邊看一下application/x-www-form-urlencoded長怎樣:
https://ithelp.ithome.com.tw/upload/images/20200902/2011199439aQtDzLgE.png

Post的資料會顯示在From Data這邊:
https://ithelp.ithome.com.tw/upload/images/20200902/20111994LS1NZ0nEqm.png

發現chrome會跳這個:
https://ithelp.ithome.com.tw/upload/images/20200902/20111994bXKj5sJnnL.png

不太了解 ,單純post資料的http網頁 都會跳這個嗎?

發現一個紀錄被盜帳號的網頁 ,2020年的也不少,而且很多常見的網頁或app都在上面

Pwned websites

這邊試一下google雲端硬碟 上傳檔案:

Request-headers 的content-type是這個:

content-type: multipart/related; boundary="bnhyumopyukd"

不是application/x-www-form-urlencoded也不是multipart/form-data。
不知道,跳過

接著繼續看文章:

[Day 09] 表單中的 GET 與 POST

這段比喻很棒:

HTTP 代表現在我們現實生活中寄信的機制,那麼信封的撰寫格式就是 HTTP。我們姑且將信封外的內容稱為 http-header,信封內的書信稱為 message-body,那麼 HTTP Method 就是你要告訴郵差的寄信規則。

http Post 和 Get 差異

Get Method
並不是HTTP 規定 GET參數長度有限制,
而是瀏覽器或伺服器會規定 GET長度。

然後這邊有寫:
Guidelines for URL Display

Chrome limits URLs to a maximum length of 2MB for practical reasons and to avoid causing denial-of-service problems in inter-process communication.


上一篇
Tesseract 測試
下一篇
Java Producer Consumer pattern
系列文
學習筆記46
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言