美文网首页
20170204 解析http(4)

20170204 解析http(4)

作者: 田田kyle | 来源:发表于2017-02-27 10:05 被阅读19次

http(维基百科)hypertext transfer protocol 超文本传输协议

  • 服务器:可以是电脑 也可以是程序(你访问IP,我给你提供页面。运行JS文件,就是个程序)

  • IP和网址的关系,中间会有DNS(ping 域名。显示该域名的IP,百度买了很多服务器,根据你的位置返回最近的IP)

  • DNS:网域名称系统,是一个分布式数据库(DNS 服务器IP是由运营商告诉你你的IP是多少,然后你的路由器会显示)

  • 结构:

网址 IP
baidu.com 111.11.11
googe.com 222.22.22

(一个域名可以对应多个IP。每个用户在访问的时候对应的IP都不一致,一般是地理位置最近的IP)
总结两句话:
1、一个域名对应的IP由所有者指定的
2、由所有者决定域名对应的IP,不在本机(也就是你迁的电信网,就由电信运营商决定)

PS:
强制改IP
1、Linux: sudo vi /etc/hosts/ 127.0.0.1 baidu.com
2、Windows - 用管理员账号打开citbash

-notepad 或者记事本打开 hosts文件(c/windows/system32/dvivers/etc/hosts)改IP
-在gitbash试或者打开网页试

  • 端口(TCP/UDP协议) 一个端口对应一个服务

1、FTP(传文件。默认端口21)监听21

2、http 80端口

3、DNS 53端口

4、HTTPS 443端口

5、1080 socks代理端口

PS:
*0-1023 都是保留端口,只能管理员身份运行
端口范围 0--65535 2的16次方
sudo以管理员身份运行 *

请求&&响应

  • 浏览器(发出请求)--------------服务器(响应请求,返回页面给浏览器)
    client sever
    浏览器也叫客户端、用户代理(user agent,因为是浏览器代替我上网)
一个请求包含哪些内容

curl -L https://baidu.com

curl -l http://101.200.33.143:8888/index.html

1、请求行:动词 get 路径 协议/版本号
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、
第四部分内容格式:json/HTML/urlencoded(第二部分指定第四部分格式)content-type:application x/www-form-urlencoded(x表示这个东西还没进入标准,但试行了很多年了)
3、回车
4、消息体(内容随意,可省略)
难点:cookie

一个请求的例子:

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 *

响应
一个响应的例子:

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: Accept-Encoding
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=/

  • 状态码:
    200:成功 301:重新定向;永久搬家 302:临时搬家
    304:指缓冲的版本已经被更新并且客户端应刷新文档
    404:请求网址不存在 403:不允许你访问
    405:只能用特定方式请求,如只能用get
    414:请求的网址太长
    505:内部服务器错误 502:网关问题

相关文章

  • 20170204 解析http(4)

    http(维基百科)hypertext transfer protocol 超文本传输协议 服务器:可以是电脑...

  • 一个页面从输入url到页面加载显示完成

    1.DNS解析 2.TCP连接 3.发送HTTP请求 4.服务器处理请求并返回HTTP报文 5.浏览器解析渲染页面...

  • DASH研究

    MP4格式研究 mp4解析在线地址:mp4parser[http://mp4parser.com/] 一个mp4就...

  • 编写服务器

    回顾到的知识点:1 Socket编程 2 HTML 3HTTP协议 4反射 5 XMl解析 6服务器编写HTTP ...

  • 图解HTTP解析4(首部简介)

    一、首部 HTTP协议的请求与响应必包含首部,首部内容为客户端和服务器端分别请求与响应提供所需要的信息。 请求报文...

  • [最新版]MJRefresh解析与详细使用指导(链接)

    [最新版]MJRefresh解析与详细使用指导][(http://www.jianshu.com/p/4ea427...

  • flutter备忘录2

    1、Future使用 2、使用http解析json中文乱码解决方案 3、FutureBuilder使用 4、flu...

  • HTTP解析

    HTTP:HyperText Transefer Protocol(超文本传输协议),基于TCP/IP协议来传递数...

  • 20170204

    起床,靠!!!十點了……我和朋友約了十點半在北車的貳樓吃飯,但是我還在高雄啊啊啊啊啊。 立馬打給朋友道歉,立馬拿起...

  • 20170204

    昨晚一场大雨后,早上的空气变得清澈了许多,此时无风亦无雨,连温度也暖和了些。天空还悬浮着随意飘荡的云烟,遮蔽了整个蓝

网友评论

      本文标题:20170204 解析http(4)

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