zoukankan      html  css  js  c++  java
  • http 协议的过程

    当你输入某个网址的时候发生了什么?

    首先:你该知道 a.http协议是应用层协议,他是浏览器像服务器请求网页,服务器返回网页的过程,他是基于tcp协议的。

    1.假设随便输入输入域名 http://www.cnblogs.com/stg609/archive/2008/07/06/1236966.html

    2.下面会进行dns解析,如果本地有dns缓存,则直接从缓存中取得。获得服务器ip地址。

    3.进行tcp连接(对于版本1.0,一次连接,一次请求,对于1.1一次连接可以多次请求);

    4.发送http请求报文:主要有: 

    请求方法(get,post,head)

    http版本号: 1.0.或1.1 (http://blog.csdn.net/elifefly/article/details/3964766区别:

    请求的URI: 

    请求的主机:

    connetction:请求的Connection请求头的值为Keep-Alive时,客户端通知服务器返回本次请求结果后保持连接;Connection请求头的值为close时,客户端通知服务器返回本次请求结果后关闭连接

    5.返回报文:

    a.状态行:最重要的是状态码和对应描述。200(ok)404(not fonund) 401(not 授权)

    200 OK      //客户端请求成功
    400 Bad Request  //客户端请求有语法错误,不能被服务器所理解
    401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用 
    403 Forbidden  //服务器收到请求,但是拒绝提供服务
    404 Not Found  //请求资源不存在,eg:输入了错误的URL
    500 Internal Server Error //服务器发生不可预期的错误
    503 Server Unavailable  //服务器当前不能处理客户端的请求,一段时间后可能恢复正常

    http://www.cnblogs.com/li0803/archive/2008/11/03/1324746.html

    b.相应报文头:就是服务器的一些信息

    c: 正文网页内容

    6.释放连接

    6.获得html

  • 相关阅读:
    Hibernate unsaved-value 属性
    ResulsetHandler九个实现类
    Introspector内省和反射的区别.
    数据库表、字段命名规范
    Linux 时间同步 ntpdate
    http升级https改造方案
    org.apache.tomcat.util.net.NioEndpoint,打开的文件过多
    kafka常用命令
    elasticsearch.yml 配置说明
    getDate() 各种时间格式
  • 原文地址:https://www.cnblogs.com/hansongjiang/p/3856451.html
Copyright © 2011-2022 走看看