专题复习二、关于http的那些事(1)

2017-07-27  本文已影响23人  田田kyle

写于2017.07.27

一、与http有关的一些概念
网址 IP
baidu.com 111.11.11
googe.com 222.22.22

(一个域名可以对应多个IP,一个IP也可以指向多个域名。每个用户在访问的时候对应的IP都不一致。百度买了很多服务器,根据你的位置返回最近的IP。<strong>ping 域名 可以得到IP</strong>)
总结两句话:
1、一个域名对应的IP由域名所有者指定的(比如我买了域名,决定IP是多少)
2、由所有者决定域名对应的IP,不在本机,统一在运营商DNS管理(也就是你迁的电信网,就由电信运营商决定)

PS:
强制改IP
1、Linux: sudo vi /etc/hosts/ 127.0.0.1 baidu.com
2、Windows - 找到 hosts文(c/windows/system32/dvivers/etc/hosts)用管理员身份运行,改IP

二、 请求&&响应
image.png
请求

curl -L https://baidu.com
curl -l http://101.200.33.143:8888/index.html(获得请求信息)

一个请求的例子:

get/index.html http/1.1(我要index.html,遵循的版本是http1.1)
host:101.200.33.143:9999(我需要百度的这个IP访问9999端口号)
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(用户用什么工具访问)
accept:text/html,application/xhtml+xml;application/xml0.9,image/webp,
/*;q=0.8(返回HTML,如果没有就XHTML)
accept-encoding;gzip,defiate,sdch *
如上的请求分为四部分:
1、请求行:动词( 9个:get、post、delete、put、patch、head、track、options、connect )路径 协议/版本号
get/ index.html http1.1.1
get head post put(给什么替换掉要改的) pacth(保留旧的) delete connect option trace
2、请求头:域名(host)
host:1.2.3.4
accept:HTML、XHTML、XML
user-agent:chrome、Mac、
<b>vcontent-type:application x/www-form-urlencoded 或者json/HTML/urlencoded(x表示这个东西还没进入标准,但试行了很多年了、第二部分指定第四部分格式)</b>
cookie(难点)
3、回车(把第二部分和第四部分隔开)
4、消息体(formdata。内容随意,可省略,格式由第二部分指定)

响应
一个响应的例子:

HTTP/1.1 200 OK(版本号、状态码)
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: DontTrackMeHere
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=/

如上的响应分为四部分:
1、状态行:协议/版本号 状态码 状态描述
2、响应头
content--type:text/HTML charset =utf-8
server:bfe/1.0.8.18
date:thu,23 feb 2017
(定义第四部分格式)
3、回车
4、消息体(内容随便)
<html>
<body>
</body>
</html>
难点:缓存

三、URI URL URN

URI(统一资源标识符) = URL(统一资源定位符) + URN(统一资源名称)


知识这东西,若只是嘴上说说,而不能转化为见识和胆识,那其实蛋用没有

上一篇 下一篇

猜你喜欢

热点阅读