美文网首页
专题复习二、关于http的那些事(1)

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

作者: 田田kyle | 来源:发表于2017-07-27 17:50 被阅读23次

写于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)

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

相关文章

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

    写于2017.07.27 一、与http有关的一些概念 http:hypertext transfer prot...

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

    写于2017.07.27 缓存 缓存就是你在第一次访问一个网页时,浏览器需下载相关文件并存放在相关目录里。但当你第...

  • 关于HTTP的那些事

    本文将讲述如何用Chrome开发者工具查看 HTTP 请求和响应内容 一、Chrome开发者工具 第一步: 第二步...

  • 今日晚总结

    复习: 专题一知识画图梳理 专题二知识画图梳理 1.结合前面对专题一、专题二课程的学习,参照专题讲义,自行梳理一遍...

  • 关于期末复习那些事

    今天,举行期末复习对策研讨会,大家讨论得最多的是字词怎么巩固,阅读怎么训练,作文怎么指导展开了激烈的讨论。 众说纷...

  • 样式重置【Normalize.css】

    关于CSS Reset那些事(一)- SegmentFault[http://segmentfault.com/a...

  • 聊聊关于复习备考那些事

    这段时间已进入了复习备阶段,每所学校的老师们都使出浑身的解数投入到紧张的复习备考之中,如何复习才能高效呢?...

  • 关于HTTP的那些事和cookie

    1.0 HTTP协议 关于协议对于应用层开发人员,接触最多的网络协议通常都是传输层的TCP,为什么这么说,因为再往...

  • 关于我期末复习的那些事

    1、咱就是说,熬夜是真的熬不过那些“疯子”。最近一段时间天天一两点睡六七点起,可是那些“疯子”是怎么做到只睡两...

  • HTTP专题1-HTTP2.0

    引言 来自https://segmentfault.com/a/1190000016656529?utm_sour...

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/wegokxtx.html