0%

前往全端之路 - 網頁運作

前言

又是一個新系列的開始

畢業的時候總是有迷茫,也沒有想過要往那一個方向走

所以當初花了兩個禮拜,剛好在面試的過程中,也好好地想了這一個問題,

不曉得大家是否曾想過自己人生有沒有什麼事情一定要完成?

對我來說是有的,而我正是從這一點去思考我要找什麼工作

但這個目標並不是在短時間內就能夠達到的事情,而在前往目標的這個路程上,有沒有什麼條件能力是不可或缺的,而從這些角度下去思考,相信你也能找到屬於你的答案 ^^

就我個人對自己的期許,先朝著後端工程師前進,接著在2-3年內成為一個全端工程師

這一系列文章主要記錄著前往全端工程師這一條路上所學到的知識雜記


內文

URL (Uniform Resource Locator): 俗稱 網址,詳細來說就是在互聯網上你瀏覽各個網頁的位址

e.g. http://example.com:8000/foo?p=foo#test

  • http: 發出請求所使用的協議 (Protocol)
  • example.com/foo: 請求對象之Host
  • 8000: 使用哪一個端口 (Port)
  • ?p=foo: ?後方代表 額外請求的資訊 (name = value)
  • #test: 使用標記 (fragment) 前往相同網頁下指定的內容

網址最後要不要加 slash?

https://webmasters.googleblog.com/2010/04/to-slash-or-not-to-slash.html

而使用者輸入完網址按下 enter 發送的 **請求(request)**,或者是伺服器的 回覆(response),一個 HTTP Message,俗稱 訊息, 就會產生,這兩者唯一的差別就在於 Start-line,對於請求來說是發送 request-line,而 回覆 則是 status-line

Start-line = request-line / status-line

一個 HTTP Message包含下列內容

  • Request-Line: method SP request-target SP HTTP-Version CRLF (SP: 空白)
  • Header Field CRLF
  • CRLF: carriage return + line feed,也就是俗稱的 \r\n
  • Message-body

所以一個完整的 HTTP Message 就會長這樣

Request = Start-line
                  *(Header Field) CRLF
                  CRLF
                  Message-body

所以上面我們所舉的例子 http://example.com:8000/foo?p=foo#test 發出請求,而相對應的 Request 為

還記得嗎? Start-line 用在 請求回覆,分別是 request-lineresponse-line

所以此時 Start-line 用到的便是 request-line

而上述例子的 request-line 是 GET /foo?p=foo

若是我們成功在指定的位址取得到資源的話,回覆的 status-line 差不多長這樣
HTTP/1.1 200 OK
Date: [The date and time that the message was originated]
Server: [HTTP Server]/[version], e.g. Apache/2.3
Content-type: [some document type], e.g. text/html, png
Content-length: [how long the document]

GET & POST 差異

GET

POST

parameters in URL

parameters in body

limited URL length

updating data

ok to cache

not ok to cache

shouldn’t change the server

ok to change the server

內容會慢慢增加唷!
To be continued !!