【javascript】--------------http-------------【劉】

HTTP


 

  • 超文本传输协议,即服务器和浏览器之间通过应答请求模式传输超文本内容的一种协议
  • 请求报文
请求类型、请求URL、协议版本和扩展内容
请求头部域信息(Accept、Cookie、Cache-Control、Host)

请求行
GET / HTTP/1.1
请求头
Host: www.baidu.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9

请求体
name:xxx
pwd:xxxx

  • 响应报文
状态码、状态描述、协议版本和扩展内容
响应头部域信息(Date、Content-Type、Cache-Control、Expires)

响应行
HTTP/1.1 200 OK
响应头
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html;charset=utf-8
Date: Sun, 30 Dec 2018 02:34:03 GMT
Expires: Sun, 30 Dec 2018 02:34:03 GMT
Server: BWS/1.1

响应体
<!DOCTYPE html>
<!--STATUS OK-->
html标签

 

HTTP0.9


 

  HTTP 的 1991 原型版本称为 HTTP/0.9。最初的版本只支持GET请求方式,只是用来请求HTML文档

  • 请求方式:GET
  • 链接形式:只支持非持久性链接

 

HTTP1.0


  1.0 是第一个得到广泛使用的 HTTP 版本。开始支持对媒体的处理,增加了版本号和HTTP首部信息

  • 请求方式:GET、POST、HEADE
  • 链接形式:支持TCP持久链接(connection:keep-alive)

 

HTTP1.1


  1.1增加了管道机制,同时发布多个请求,host,content-length

  • 请求方式:GET、POST、PUT、PATCH、HEAD、 OPTIONS、DELETE。
  • 链接形式:默认持久性链接

 

HTTP发起请求流程


 

1)、输入网址后,这个时候客户端会将会将网址中的域名分解出来。

2)、计算机如果要访问这个网址呢是要通过IP进行访问的所以要将域名进行解析成对应的IP

3)、解析出对应的IP后。通过ip务器建立tcp链接并拿到请求的数据后关闭tcp链接。

 

 

DNS


  1、首先查找IP时,会现在本地缓存中进行查找,如果查找到则直接返回,如果本地没有进行存储的情况下,则会继续想服务器DNS进行向上查找。知道查找到并将IP返回

  2、就比如我要给张三打电话,我呢会去我的电话本(电话本就算是我进行的缓存)中去找张三的电话号码,而张三的名字就相当于域名了,他的电话号码就是Ip了。如果我对张三的手机号进行存储了。则就会直接和他联系。但是如果在我的手机中没有找到他的电话号码,这个时候要想获取到他的电话号码呢,我只能去进行询问其他人了。比如这个时候我去问李四,如果李四知道张三的号码,就把他的号码给我,我就把张三都号存储了一份然后跟他联系。

这是相当于第一次查找就查找到了,如果这个时候第一次没有找到。这个时候李四就会给我说王五有,我给你问问。如此这样的进行递归的询问下去,一直到找到我想要的手机号后将手机号返回给我,我就讲张三的手机号进行了一份存储并通过电话好吧去联系他

 

 

TCP链接


参考另一篇文章

 

posted @ 2019-07-22 12:01  花果山府邸  阅读(118)  评论(0编辑  收藏  举报