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

写于2017.07.27

一、与http有关的一些概念
  • http:hypertext transfer protocol 超文本传输协议
  • 服务器:
    1、可以是电脑
    2、也可以是程序(你访问IP,我给你提供页面。运行JS文件,就是个程序)
  • DNS:网域名称系统,是一个分布式数据库(DNS 服务器IP是由运营商告诉你你的IP是多少,然后你的路由器会显示)
  • IP与网址:由DNS决定二者的映射关系,如下图:
网址 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

  • 端口:TCP/UDP协议, 一个端口对应一个服务
    0--1023号端口是保留端口
    1、FTP(传文件。默认端口21)监听21
    2、http 80端口
    3、DNS 53端口
    4、HTTPS 443端口
    5、1080 socks代理端口
    例如:https://baidu.com:443http://qq.com:80(默认隐藏了端口)
二、 请求&&响应
image.png
  • 浏览器(client)--------- 服务器 (sever)
    交互过程:浏览器首先访问DNS某网址的IP是什么。有了IP以后向服务器发送请求,服务器就返回一个页面给浏览器,就是响应
    浏览器也叫客户端、用户代理(user agent,因为是浏览器代替我上网)
请求

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>
难点:缓存

  • 状态码:
  • 1开头:表示正在进行中
  • 2开头:表示请求已成功被服务器接收、理解、并接受
    200:成功
  • 3开头:指重定向
    301:重新定向;永久搬家(浏览器缓存结果,以后不访问这个网址)
    302:临时搬家
    304:指缓冲的版本是最新的
  • 4开头:客户端出错
    404:请求网址不存在 403:不允许你访问
    405:只能用特定方式请求,如只能用get
    414:请求的网址太长
    505:内部服务器错误 502:网关问题
三、URI URL URN

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

  • 一个URI的组成部分
    URL: http<b>(协议)</b>://www.baidu.com<b>(域名)</b>:443<b>(端口号)</b>/path/<b>(路径)</b>?key=value&key2=value2<b>(查询字符串)</b>#fraqid<b>(锚点定位符)</b>
    URN:urn:example:mammal:monotreme:echidna(图书isbn)

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,627评论 6 517
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 95,180评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 169,346评论 0 362
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,097评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,100评论 6 398
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,696评论 1 312
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,165评论 3 422
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,108评论 0 277
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,646评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,709评论 3 342
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,861评论 1 353
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,527评论 5 351
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,196评论 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,698评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,804评论 1 274
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,287评论 3 379
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,860评论 2 361

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,716评论 18 139
  • 1.OkHttp源码解析(一):OKHttp初阶2 OkHttp源码解析(二):OkHttp连接的"前戏"——HT...
    隔壁老李头阅读 20,875评论 24 176
  • Http协议详解 标签(空格分隔): Linux 声明:本片文章非原创,内容来源于博客园作者MIN飞翔的HTTP协...
    Sivin阅读 5,226评论 3 82
  • 从卢塞恩回到苏黎世,虽然已经下午6点半了,但天还是很亮,瑞士在夏天基本上要到晚上十点天才完全暗下来。再加上从卢塞恩...
    土豆片土豆丝土豆泥阅读 177评论 0 0
  • 2017年5月7日打卡 周日,多云。中午时分有点热,其余时间温度适宜,凉爽怡人。 今天子冉和金歌带着全家驱车将近一...
    沈曼柔阅读 221评论 9 5