zoukankan      html  css  js  c++  java
  • Python连载58-http协议简介

    一、http协议实战

    1.URL(Uniform Resource Located)

    (1)使用FFTP的URL,例如:ftp://rtfm.mit.edu

    (2)使用HTTP的URL,例如:http://www.baidu.com

    2.HTTP工作原理

    (1)浏览器分析超i链接中的URL

    (2)浏览器向DNS请求解析网站的IP地址

    (3)DNS将解析出的IP地址返回浏览器

    (4)浏览器与服务器建立TCP连接(80端口)

    (5)浏览器请求文档:GET/index.html

    (6)服务器给出响应,将文档index.html发送给浏览器

    (7)释放TCP连接

    (8)浏览器显示index.html中的内容

    3.持久连接和非持久连接

    4.无状态性

    是指同一个客户端(浏览器)第二次访问同一个Web服务,服务器无法知道这个客户端曾经访问过。HTTP的无状态性简化了服务器的设计,使其更容易支持大量并发的HTTP请求。

    5.HTTP报文结构:(1)请求报文;(2)返回报文;(3)请求报文的方法;(4)响应报文中的状态码;(5)首部字段或消息头;(6)报文结构实例。

    6.请求报文:即从客户端(浏览器)向Web服务器发送的请求报文,报文的所有字段都是ASCII码

    {

    方法  URL   版本   CRLF

    首部字段名   值   CRLF

    首部字段名   值   CRLF

    .....

    .....

    首部字段名   值  CRLFsho

    CRLF

    实体主体(Entity body)

    }第一行是请求行,例如:GET/index.html/1.1

    首部行:用来说明浏览器、服务器或报文主体的一些信息/

    如:

    HOST:www.sxtyu.com

    Connection:close

    User:Agent:Mozilla/5.0

    Accept-Language:cn

    7.接收报文

    {

    版本   状态码   短语   CRLF

    首部字段名    值   CRLF

    首部字段名   值   CRLF

    .....

    .....

    首部字段名   值  CRLFs

    CRLF

    实体主体(Entity body)

    }

    第一行是状态行​,如:HTTP/1.1   200    OK

    首部行:用来说明浏览器、服务器胡总和报文主体的一些信息。​如:

    Date :Wed 08 May 2008  22

    Sever:Apach/1.3.2(Unix)

    Content0Length:

    DateDaDat4096

    Content-Type:text/html

    7.请求报头的方法

    方法是对所有请求对象所进行的操作,也就是一些命令,请求报文中的操作有:

    GET       ​请求读取一个Web页面    HEAD   请求读取一个Web页面的首部

    POST     附加一个命名资源(如Web页面)

    PUT       请求存储一个Web页面

    DELETE  删除Web页面

    TRACE   用于测试,要求服务器送回收到的请求

    CONNECT  用于代理服务器

    OPTION   查询特定选

    8.响应报文中状态码

    1xx      ​含义:通知信息​;例如:100=服务器正在处理客户请求

    2xx      含义:成功;例如:200=请求成功(OK)

    3xx​      含义:重定向​;例如:301=页面改变了位置

    4xx      含义:客户错误​;例如:403=​禁止的页面;404=页面未找到

    5xx      含义:服务器错误;例如:500=服务器内部错误;503=以后再试

    具体各个状态码的含义,请参考W3C的HTTP1.1标准规范RFC2616

    http://www.w3.org/Protocols/rfc2616/rtc2616.html

    五、源码

    2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

     

  • 相关阅读:
    c++:函数模板
    1084 外观数列
    1083 是否存在相等的差
    1082 射击比赛
    1081 检查密码
    1080 MOOC期终成绩
    1079 延迟的回文数
    1078 字符串压缩与解压
    1077 互评成绩计算
    1076 Wifi密码
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/12075643.html
Copyright © 2011-2022 走看看