HTTP协议_笔记

来源:互联网 发布:铁路12306软件下载 编辑:程序博客网 时间:2024/05/14 17:59

参考文章:

http://www.cnblogs.com/EricaMIN1987_IT/p/3837436.html


一般端口号80

HTTP URL格式如下:

http : // host  [ : port ]  /  [ abs_path ]  /  [;parameters]  [?query]  #fragment 

http默认端口号是80

符号作用十六进制   +URL中+号代表空格%2B/分隔目录和子目录%2F?分隔实际的URL和参数%3F%指定特殊字符%25#代表书签%23&URL中指定的参数间的分隔符%26=URL中指定参数的值%3D

HTTP请求:请求行 + 报头 + 正文

请求行格式:method   URI   http-version   CRLF  (注意中间以空格分开)


请求方法:

GET     请求获取Request-URI所标识的资源
POST    在Request-URI所标识的资源后附加新的数据,通常用于发送邮件、新闻或用户交互表格,唯一需要在请求中发送正文,需要在content-length指定长度
HEAD    类似于GET,只返回指定文档的首部信息,不包含实际文档内容,通常用来测试超文本链接的正确性、可访问性和最近修改
PUT     请求服务器创建一个资源,并用Request-URI作为其标识

DELETE  请求服务器删除Request-URI所标识的资源
TRACE   请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT 保留将来使用
OPTIONS 请求查询服务器的性能,或者查询与资源相关的选项和需求

例如:

POST /reg.jsp HTTP/ (CRLF)Accept:image/gif,image/x-xbit,... (CRLF) //首部 = 字段名 冒号 空格 字段值 ,字段名不区分大小写...HOST:www.guet.edu.cn (CRLF)Content-Length:22 (CRLF)Connection:Keep-Alive (CRLF)Cache-Control:no-cache (CRLF)(CRLF)         //通过一个空行把首部和正文分隔开user=jeffrey&pwd=1234  //此行以下为提交的数据


HTTP响应:状态行 + 报头 + 正文

状态行格式: http-version  status-code  reason-phrase(状态码的文本描述)   CRLF

状态代码:

1xx:指示信息--表示请求已接收,继续处理
2xx:成功--表示请求已被成功接收、理解、接受
3xx:重定向--要完成请求必须进行更进一步的操作
4xx:客户端错误--请求有语法错误或请求无法实现
5xx:服务器端错误--服务器未能实现合法的请求

常见状态码:




HTTP消息报头包括普通报头、请求报头、响应报头、实体报头

1、普通报头

2、请求报头

       1) Accept 用于指定客户端接收哪些类型的信息

       2) Accept-Encoding 类似于Accept,用于指定可接受的内容编码

       3)Authorization  证明客户端有权查看某个资源

       4)Host 指定被请求资源的Internet主机和端口号,发送请求时,该报头域是必须的

       5)User-Agent  标识客户程序类型  例如:User-Agent: Mozilla/1.1n (Windows; I; 16bit)

3、响应报头

允许服务器传递不能放在状态行中的附加响应信息

      1) Location 重定向接收者到新位置,常用于更换域名的时候

      2)Server  包含服务器用来处理请求的软件信息

4、实体报头

      1) Content-Encoding 媒体类型。指定正文内容的编码格式。

      2) Content-Language 指定描述资源所用的自然语言

      3) Content-Type 报文类型,类型后跟"/",然后是子类型,例如 image/gif

      4) Last-Modified 资源的最后修改时间

      5) Expires




curl常用

参考文章:curl命令使用 http://www.cnblogs.com/wangkangluo1/archive/2012/04/17/2453975.html

-o :抓取页面内容到文件:

curl -o home.html http://www.baidu.com
-f :显示错误

curl -f http://www.google.com

-x :指定http访问所使用的proxy服务器及其端口

curl -x 123.45.67.89:1080 http://www.google.com

-D :保存cookie信息到指定文件中

curl -D cookie00.txt http://www.google.com
GET模式不需要填option

-d/--data :POST模式

curl -d "user=123&password=456" http://www.testXXX.com/login.cgi




0 0
原创粉丝点击