http(維基百科)hypertext transfer protocol 超文本傳輸協(xié)議
服務(wù)器:可以是電腦 也可以是程序(你訪問(wèn)IP,我給你提供頁(yè)面。運(yùn)行JS文件抱慌,就是個(gè)程序)
IP和網(wǎng)址的關(guān)系蜂莉,中間會(huì)有DNS(ping 域名悟耘。顯示該域名的IP沃饶,百度買了很多服務(wù)器梭域,根據(jù)你的位置返回最近的IP)
DNS:網(wǎng)域名稱系統(tǒng)酥夭,是一個(gè)分布式數(shù)據(jù)庫(kù)(DNS 服務(wù)器IP是由運(yùn)營(yíng)商告訴你你的IP是多少赐纱,然后你的路由器會(huì)顯示)
結(jié)構(gòu):
網(wǎng)址 | IP |
---|---|
baidu.com | 111.11.11 |
googe.com | 222.22.22 |
(一個(gè)域名可以對(duì)應(yīng)多個(gè)IP。每個(gè)用戶在訪問(wèn)的時(shí)候?qū)?yīng)的IP都不一致熬北,一般是地理位置最近的IP)
總結(jié)兩句話:
1疙描、一個(gè)域名對(duì)應(yīng)的IP由所有者指定的
2、由所有者決定域名對(duì)應(yīng)的IP讶隐,不在本機(jī)(也就是你遷的電信網(wǎng)起胰,就由電信運(yùn)營(yíng)商決定)
PS:
強(qiáng)制改IP
1、Linux: sudo vi /etc/hosts/ 127.0.0.1 baidu.com
2巫延、Windows - 用管理員賬號(hào)打開(kāi)citbash
-notepad 或者記事本打開(kāi) hosts文件(c/windows/system32/dvivers/etc/hosts)改IP
-在gitbash試或者打開(kāi)網(wǎng)頁(yè)試
- 端口(TCP/UDP協(xié)議) 一個(gè)端口對(duì)應(yīng)一個(gè)服務(wù)
1效五、FTP(傳文件。默認(rèn)端口21)監(jiān)聽(tīng)21
2炉峰、http 80端口
3畏妖、DNS 53端口
4、HTTPS 443端口
5疼阔、1080 socks代理端口
PS:
*0-1023 都是保留端口戒劫,只能管理員身份運(yùn)行
端口范圍 0--65535 2的16次方
sudo以管理員身份運(yùn)行 *
請(qǐng)求&&響應(yīng)
- 瀏覽器(發(fā)出請(qǐng)求)--------------服務(wù)器(響應(yīng)請(qǐng)求半夷,返回頁(yè)面給瀏覽器)
client sever
瀏覽器也叫客戶端、用戶代理(user agent谱仪,因?yàn)槭菫g覽器代替我上網(wǎng))
一個(gè)請(qǐng)求包含哪些內(nèi)容
curl -L https://baidu.com
curl -l http://101.200.33.143:8888/index.html
1玻熙、請(qǐng)求行:動(dòng)詞 get 路徑 協(xié)議/版本號(hào)
get/ index.html http1.1.1
get head post put(給什么替換掉要改的) pacth(保留舊的) delete connect option trace
2、請(qǐng)求頭:域名(host)
host:1.2.3.4
accept:HTML疯攒、XHTML嗦随、XML
user-agent:chrome、Mac敬尺、
第四部分內(nèi)容格式:json/HTML/urlencoded(第二部分指定第四部分格式)content-type:application x/www-form-urlencoded(x表示這個(gè)東西還沒(méi)進(jìn)入標(biāo)準(zhǔn)枚尼,但試行了很多年了)
3、回車
4砂吞、消息體(內(nèi)容隨意署恍,可省略)
難點(diǎn):cookie
一個(gè)請(qǐng)求的例子:
get/index.html http/1.1(我要index.html,遵循的版本是http1.1)
host:101.200.33.143:9999(我需要百度的這個(gè)IP訪問(wèn)9999端口號(hào))
connection:keep-alive
pragma:no-cache(不要緩存我)
upgrade-insecure-requests:1
user-agent:mogilla/5.0(macintosh;intel mac os x 10_12_3) applewebkit/537.36(khtml,like gecko)
chrome/56.0.2924.87 safari/537.36(用戶用什么工具訪問(wèn))
accept:text/html,application/xhtml+xml;application/xml0.9,image/webp,/*;q=0.8(返回HTML蜻直,如果沒(méi)有就XHTML)
accept-encoding;gzip,defiate,sdch *
響應(yīng)
- 得到響應(yīng)頭(1 2部分)curl --head http://101.200.33.143:8888/index.html
- 得到第四部分 curl http://101.200.33.143:8888/index.html
- 得到頭和體 curl -D - http://101.200.33.143:8888/index.html
1盯质、狀態(tài)行(F12 network respose)
協(xié)議/版本號(hào) 狀態(tài)碼 狀態(tài)描述
2、響應(yīng)頭
content--type:text/HTML charset =utf-8
server:bfe/1.0.8.18
date:thu,23 feb 2017
(定義第四部分格式)
3概而、回車
4呼巷、消息體(內(nèi)容隨便)
<html></html>
難點(diǎn):緩存
一個(gè)響應(yīng)的例子:
HTTP/1.1 200 OK(版本號(hào)、狀態(tài)碼)
Server: bfe/1.0.8.18
Date: Tue, 28 Feb 2017 06:28:27 GMT
Content-Type: text/html; charset=utf-8(定義第四部分類型)
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: BDRCVFR[yRSRXBz7w1T]=-tUPB7bzJE6uZNBmi4WUvY; path=/; domain=.baidu.com
Set-Cookie: BDSVRTM=0; path=/
Set-Cookie: BD_HOME=0; path=/
Set-Cookie: H_PS_PSSID=1464_21081_22036; path=/; domain=.baidu.com
P3P: CP=" OTI DSP COR IVA OUR IND COM "
Cache-Control: private
Cxy_all: 56060048_4_pg+64bff61a52fe2c37f37a88f72cfc6228
Expires: Tue, 28 Feb 2017 06:28:02 GMT
X-Powered-By: HPHP
X-UA-Compatible: IE=Edge,chrome=1
Strict-Transport-Security: max-age=172800
BDPAGETYPE: 1
BDQID: 0xf209092c000026f8
BDUSERID: 0
Content-Encoding: gzip
Set-Cookie: __bsi=2050419762638780962_00_21_R_N_3_0303_C02F_N_I_I_0; expires=Tue, 28-Feb-17 06:28:32 GMT; domain=www.baidu.com; path=/
- 狀態(tài)碼:
200:成功 301:重新定向赎瑰;永久搬家 302:臨時(shí)搬家
304:指緩沖的版本已經(jīng)被更新并且客戶端應(yīng)刷新文檔
404:請(qǐng)求網(wǎng)址不存在 403:不允許你訪問(wèn)
405:只能用特定方式請(qǐng)求王悍,如只能用get
414:請(qǐng)求的網(wǎng)址太長(zhǎng)
505:內(nèi)部服務(wù)器錯(cuò)誤 502:網(wǎng)關(guān)問(wèn)題