http协议

内容:html

1.预备知识前端

2.http协议面试

3.面试常问浏览器

 

 

1.预备知识服务器

(1)网址组成(URL构成)网络

1 网址组成(四部分)
2     协议      http, https(https 是加密的 http)
3     主机      g.cn  zhihu.com之类的网址
4     端口      HTTP 协议默认是 80,所以通常不用填写
5     路径      下面的「/」和「/question/31838184」都是路径
6 http://www.zhihu.com/
7 http://www.zhihu.com/question/31838184

 

(2)通讯原理dom

 1 电脑通讯靠IP地址,IP地址记不住就发明了域名(domain name),而后电脑
 2 自动向DNS服务器(domain name server)查询域名对应的IP地址
 3 
 4 好比g.cn这样的网址,能够经过电脑的ping程序查出对应 IP 地址
 5 ➜    ping g.cn
 6 PING g.cn (74.125.69.160): 56 data bytes
 7 
 8 
 9 端口是什么?
10 一个比喻:
11 用邮局互相写信的时候,ip至关于地址(也能够看作邮编,地址是域名)
12 端口是收信人姓名(由于一个地址好比公司、家只有一个地址,可是却可能有不少收信人)
13 端口就是一个标记收信人的数字。
14 端口是一个 16 位的数字,因此范围是 0-65535(2**1615 实际上IP是标识一台电脑在网络中的位置,而端口则是标识这台电脑上的某个软件16 某台电脑的IP地址+端口能够标识这台电脑上的某个软件,通讯实际上就是经过IP地址+端口的方式实现

 

 

2.http协议ui

(1)http协议是什么google

1 一个传输协议,协议就是双方都遵照的规范。
2 为何叫超文本传输协议呢,由于收发的是文本信息。
3 1,浏览器(客户端)按照规定的格式发送文本数据(请求)到服务器
4 2,服务器解析请求,按照规定的格式返回文本数据到浏览器
5 3,浏览器解析获得的数据,并作相应处理

 

(2)请求和返回的数据格式加密

1 请求和返回是同样的数据格式,分为4部分:
2   请求行或者响应行
3   Header(请求的 Header 中 Host 字段是必须的,其余都是可选)
4   \r\n\r\n(连续两个换行回车符,用来分隔Header和Body)
5   Body(可选)

 

(3)请求格式

 1 请求的格式,注意大小写(这是一个不包含Body的请求):
 2 原始数据以下
 3 'GET / HTTP/1.1\r\nhost:g.cn\r\n\r\n'
 4 打印出来以下
 5 GET / HTTP/1.1
 6 Host: g.cn
 7 
 8 其中:
 9   GET 是请求方法(还有POST等,这就是个标志字符串而已)
10   / 是请求的路径(这表明根路径)
11   HTTP/1.1  中,1.1是版本号,通用了20年
12 
13 具体字符串是 'GET / HTTP/1.1\r\nhost:g.cn\r\n\r\n'

 

(4)返回格式

 1 返回的数据以下
 2 HTTP/1.1 301 Moved Permanently
 3 Alternate-Protocol: 80:quic,p=0,80:quic,p=0
 4 Cache-Control: private, max-age=2592000
 5 Content-Length: 218
 6 Content-Type: text/html; charset=UTF-8
 7 Date: Tue, 07 Jul 2015 02:57:59 GMT
 8 Expires: Tue, 07 Jul 2015 02:57:59 GMT
 9 Location: http://www.google.cn/
10 Server: gws
11 X-Frame-Options: SAMEORIGIN
12 X-XSS-Protection: 1; mode=block
13 
14 
15 
16 Body部分太长,先不贴了
17 其中响应行(第一行):
18   HTTP/1.1 是版本
19   301 是「状态码」,参见文末连接
20   Moved Permanently 是状态码的描述
21 浏览器会本身解析Header部分,而后将Body显示成网页

 

(5)http协议的做用

1 ——前端掌握 HTTP 协议有什么用——
2 
3 能够用 JS 动态抓取内容构建页面
4 好比动态评论、加载数据
5 好比天气预报程序
6 好比壁纸图片库
7 浏览器提供了使用 HTTP 协议收发数据的接口,名为 AJAX
8 这是一个重要的技术

 

 

3.面试常问

HTTP请求的整个过程是什么样的?答案以下:

  • 在浏览器地址栏键入URL,按下回车以后会经历如下流程:
  • 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址
  • 解析出 IP 地址后,根据该 IP 地址和默认端口 80,和服务器创建TCP链接
  • 浏览器发出读取文件(URL 中域名后面部分对应的文件)的HTTP 请求,该请求报文做为 TCP 三次握手的第三个报文的数据发送给服务器
  • 服务器对浏览器请求做出响应,并把对应的 html 文本发送给浏览器
  • 释放 TCP链接
  • 浏览器将该 html 文本并显示内容
相关文章
相关标签/搜索