http基礎(一)

URL

URL(uniform resource locator),統一資源定位符,瀏覽器尋找信息所用的資源位置。URL定義了服務器通過網絡提供資源以及客戶端通過網絡訪問資源的方式。

URL的一般格式:
http://www.baidu.com/index.html

URL一般分爲三部分:
URL第一部分爲URL的方案,即採用什麼協議,如http、ftp等。這部分告訴客戶端以什麼方式訪問服務器資源,對應示例:http
URL第二部分指定服務器的位置,通常爲域名或者服務ip地址。這部分告訴客戶端服務器的位置。對應示例中:www.baidu.com
URL第三部分爲服務器上資源路徑。對應示例中:index.html

http請求報文

報文由三個部分組成:起始行、首部、包含數據的主體。

  • 請求報文起始行爲:方法 url 版本。中間用空格隔開。由一個空行(CRLF)結束。
    例:GET /index.html http/1.1

  • 請求報文首部:首部可能有一個或者多個,由名字後加一個冒號(:),接着是一個值組成。由一個空行(CRLF)結束。
    例:
    Accept:text/css,/;q=0.1
    Accept-Encoding:gzip, deflate, sdch
    Accept-Language:zh-CN,zh;q=0.8

  • 請求報文實體:實體是一個http的數據部分。有些請求沒有數據傳輸則沒有實體部分
    例:
    length=10&page=1&sidx=&sord=&popNameDisplay=%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09&pageNo=1&invokeFlag=1&pageSize=10
    Name

請求報文完整示例

POST /skuReview/list HTTP/1.1

Host: admin.test.com
Connection: keep-alive
Content-Length: 129
Accept: application/json, text/javascript, /; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie: test_user_token=admin_user_31595_web_96c458e1550447f2d8f307fb2dec9924; TEST_CASTGC=TGT-1779-xxxZO3cOoJiAUfAtHVleaZmHBadpHVMxLIaTM20hbgRTEiWypc-meicai.cn; beta_user_token=admin_user_76482_web_cc44f322b071c83dcd234c7c286e6711; PRO_CASTGC=TGT-37039-ZWu4onc5fBAR7anq50Anhm0pZ0AqUW0DqvFvwg6ogH0LfqRLMN-meicai.cn; JSESSIONID=C7917DB96F94171C119CFAC587A14EB6

length=10&page=1&sidx=&sord=&popNameDisplay=%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09%09&pageNo=1&invokeFlag=1&pageSize=10
Name

http響應報文

響應報文由三個部分組成:起始行、首部、包含數據的主體。
- 響應報文起始行爲:版本 裝條碼 狀態說明。中間用空格隔開。由一個空行(CRLF)結束。
例:
HTTP/1.1 200 OK

  • 響應報文首部格式與請求報文一致。
    例:
    Server: nginx
    Date: Tue, 22 Aug 2017 02:55:47 GMT
    Content-Type: application/json;charset=UTF-8
    Transfer-Encoding: chunked
    Connection: close

  • 響應報文實體:實體是一個http的數據部分。有些請求沒有數據傳輸則沒有實體部分。
    例:
    {msg:”response”}

響應報文完整示例

HTTP/1.1 200 OK

Server: nginx
Date: Tue, 22 Aug 2017 02:55:47 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: close

{“page”:1,”length”:10,”total”:59,”records”:589,”begin”:0,”data”:[{“id”:201,”name”:”測試名稱”}]}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章